React

适用范围

缺点

  • Context 只能存储单一值,当数据量大起来时,你可能需要使用createContext创建大量context;
  • 不太适合大型对象
    • 无论该组件是否依赖变化的值(如组件只用到了不变的 value.user.name, 但value.order.id 发生了变化)。
    • 你可以通过useMemo来解决这个问题,但是就需要一定的成本来定制一个通用的解决方案;
  • 无法处理异步请求。对于异步的逻辑,Context API并没有提供任何API,需要自己做封装;

使用指南

  • child::

    定义context

    React中定义context

    示例

    1. 首先,需要创建一个Context对象,并通过React.createContext()方法来实现:

      const MyContext = React.createContext(默认值);
    2. 接着,在父组件中使用Provider来提供数据和方法:

      <MyContext.Provider value={/* 提供的数据和方法 */}>
        {/* 子组件 */}
      </MyContext.Provider>
    指向原始笔记的链接
  • child::´®