react-redux 使用

发布于 2022-06-02  787 次阅读


基础使用

  1. 两个概念:
    1. UI组件:不能使用任何redux的api,只负责页面的呈现、交互等。
    2. 容器组件:负责和redux通信,将结果交给UI组件。
  2. 如何创建一个容器组件————靠react-redux 的 connect函数
    connect(mapStateToProps,mapDispatchToProps)(UI组件)
    -mapStateToProps:映射状态,返回值是一个对象
    -mapDispatchToProps:映射操作状态的方法,返回值是一个对象
  3. 备注1:容器组件中的store是靠props传进去的,而不是在容器组件中直接引入
  4. 备注2:mapDispatchToProps,也可以是一个对象

优化

  1. 容器组件和UI组件整合一个文件
  2. 无需自己给容器组件传递store,使用provider包裹一个即可。
  3. 使用了react-redux后也不用再自己检测redux中状态的改变了,容器组件可以自动完成这个工作。
  4. mapDispatchToProps也可以简单的写成一个对象
  5. 一个组件要和redux“打交道”要经过哪几步?
    1. 定义好UI组件---不暴露
    2. 引入connect生成一个容器组件,并暴露,写法如下:
  6. 在UI组件中通过this.props.xxxxxxx读取和操作状态
connect(
     state => ({key:value}), //映射状态
     {key:xxxxxAction} //映射操作状态的方法
)(UI组件)

共享数据 combineReducers

  1. 使用combineReducers进行多个reducers的合并,
    合并后的总状态是一个对象!!!
  1. 交给store的是总reducer,最后注意在组件中取出状态的时候,记得“取到位”。

react-redux 开发者工具

npm i redux-devtools-extension
store中进行配置
import {composeWithDevTools} from 'redux-devtools-extension'
const store = createStore(allReducer,composeWithDevTools(applyMiddleware(thunk)))

届ける言葉を今は育ててる
最后更新于 2022-06-02