Provider
Provider
Provider
组件的作用是为组件子树提供状态。
可以使用多个Provider为多个子树提供状态,它们甚至可以嵌套。
这就像React Context一样。
如果在没有Provider的树中使用了一个原子,它将使用默认状态。这就是所谓的无Provider模式。
Provider有三个用途:
- 为每个子树提供不同的状态。
- 接受原子的初始值。
- 通过重新挂载来清除所有原子。
const SubTree = () => (<Provider><Child /></Provider>)
签名
const Provider: React.FC<{store?: Store}>
原子配置不包含值。原子值存在于独立的存储中。Provider是一个包含存储并在组件树下提供原子值的组件。Provider的工作方式类似于React context provider。如果你不使用Provider,它将以默认存储的无Provider模式工作。如果我们需要为不同的组件树保存不同的 原子值,那么Provider将是必需的。Provider可以接受一个可选的prop store
。
const Root = () => (<Provider><App /></Provider>)
store 属性
Provider接受一个可选的store
属性,你可以在Provider子树中使用它。
示例
const myStore = createStore()const Root = () => (<Provider store={myStore}><App /></Provider>)
useStore
这个钩子在组件树中返回一个存储。
const Component = () => {const store = useStore()// ...}