状态管理规范

约定:

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