useCotext 和 Redux Toolkit 优缺点对比

378 阅读1分钟

前言

接手的小程序业务模块复杂,之前几乎所有的状态都是用普通 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 一样,使用时需要引入较多的东西