前言
接手的小程序业务模块复杂,之前几乎所有的状态都是用普通 Redux 处理,滥用且语法复杂,所以需要找个库来做迁移,顺便梳理状态逻辑。
小程序现况:
- 小程序 class 组件和 function 组件混用。
- 有异步逻辑。
- 小程序模块复杂。
useContext
React 轻量状态管理库 unstated-next
缺点:
1.无法做到模块间的状态隔离,只能做静态隔离。项目模块、状态很多的情况下,无法避免冲突。
2.无法同时适用于类组件和函数组件中。
3.小程序原状态间耦合度较高,无法单独一个模块迁移
4.无法处理异步逻辑
优点:
1.写法简单易懂
2.适用于轻量级项目,从 0-1 的项目
Redux Toolkit
Redux 开发工具集
优点:
1.与普通 Redux 不冲突,可混合使用,技术迁移过程可迭代,风险小
2.同时兼容类组件和函数组件
3.引入过程与普通 Redux 相似,简化编码过程,无需手动编写任何 action creator 或者 action type
4.简化异步逻辑的处理,可替代 Redux-saga
缺点:
1.调用方式与普通 Redux 一样,使用时需要引入较多的东西