状态管理规范
约定:
- 当我们项目中复杂程度较低时,建议只用state就可以了
- 如果仅仅因为存在多层传递数据的场景,不建议使用
mobx
或redux
,可使用context
解决 - 如果仅仅因为夸路由数据共享,不建议使用
mobx
或redux
,可使用context
或者路由传参
解决 - 如果业务复杂,需要使用第三方状态管理解决复杂度,看下一条
- 当项目复杂度一般,小规模团队或开发周期较短、要求快速上线时,推荐使用
mobx
- 当项目复杂度较高,团队规模较大或要求对事件分发处理可监控可回溯时,推荐使用
redux
,可尝试使用rematch
或@reduxjs/toolkit
,减少模板代码 - 如果后端数据符合
REST
风格且数据格式统一
且重复数据较多
,推荐使用扁平化
处理数据,参考normalizr
,eg: twitter 知乎