React-redux 初识
React-redux 对外提供的 API 有四个:
Provider
/createProvider
/connectAdvanced
/connect
connectAdvanced
1 |
|
connectAdvanced
用来连接组件到Redux
的store
上。是connect
函数的基础,但并没有规定如果将state
、props
、dispatch
处理传入最终的props
中。
connectAdvanced
并没有对产生的props
做缓存来优化性能,都留给了调用者去实现。connectAdvanced
并没有修改传入的组件类,而是返回一个新的、连接到store
的组件类。
返回:
函数返回一个高阶组件,该高阶组件将从 store 的 state 中构建的 props 传递给被包裹组件。
Provider
Provider
使组件层级中的connect()
方法都能获取到Redux Store
。
正常情况下,你的根组件应该嵌套在<Provider>
中才能使用connect()
方法。
如果你真的不想把根组件嵌套在
<Provider>
中,你可以把store
作为props
传递到每一个被connet()
包装的组件,但是我们只推荐您在单元测试中对store
进行伪造 (stub) 或者在非完全基于 React 的代码中才这样做。
正常情况下,你应该使用<Provider>
。
connect()
1 |
|
连接 React 组件与 Redux store。
连接操作不会改变原来的组件类。
反而返回一个新的与 Redux store 连接的组件类。
返回值:
根据配置信息,返回一个注入了 state 和 action creator 的 React 组件。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!