使用redux-toolkit开启项目状态管理之路

  • 我们可以使用 Redux Toolkit configureStore API 创建一个 Redux store
    • configureStore 接收 reducer 函数来作为命名参数
    • configureStore 自动使用默认值来配置 store
  • 在 slice 文件中编写 Redux 逻辑
    • 一个 slice 包含一个特定功能或部分的 state 相关的 reducer 逻辑和 action
    • Redux Toolkit 的 createSlice API 为您提供的每个 reducer 函数生成 action creator 和 action 类型
  • Redux reducer 必须遵循以下原则
    • 必须依赖 state 和 action 参数去计算出一个新 state
    • 必须通过拷贝旧 state 的方式去做 不可变更新 (immutable updates)
    • 不能包含任何异步逻辑或其他副作用
    • Redux Toolkit 的 createSlice API 内部使用了 Immer 库才达到表面上直接修改(”mutating”)state 也实现不可变更新(immutable updates)的效果
  • 一般使用 “thunks” 来开发特定的异步逻辑
    • Thunks 接收 dispatch 和 getState 作为参数
    • Redux Toolkit 内置并默认启用了 redux-thunk 中间件
  • 使用 React-Redux 来做 React 组件和 Redux store 的通信
    • 在应用程序根组件包裹 使得所有组件都能访问到 store
    • 全局状态应该维护在 Redux store 内,局部状态应该维护在局部 React 组件内

参考文献

新版本Redux官方文档
redux-toolkit 让开发更快的使用redux,包扩RTK-QUERY 好用的request-api封装库
初学者教程