Appearance
🗃️ 状态管理
应用中分为以下五种状态,相应的方案如下:
组件状态(Component State)
组件自己维护的状态,不与其他组件共享。
原则上,组件中都先使用组件状态。需要共享时才考虑其他方案。
全局状态(Application State)
全局状态跨组件,包括主题设置,全局通知,当前用户等。
我们使用jotai管理全局状态。
目前我们使用的全局状态已经基本够用。
原则上,不允许添加全局状态。需要经过审批。
服务器缓存状态(Server Cache State)
服务器缓存状态指通过API调用获取的数据。
我们采用react-query管理服务器缓存状态。
原则上,开发中使用的除全局状态外,跨组件采用的状态都是服务器缓存状态。
使用方法见hooks
表单状态(Form State)
我们采用AntD Form管理表单状态。
URL状态(URL State)
通过URL参数设置的状态。通常用于直接打开页面。
我们采用react-router-dom, useLocation hook获取状态。useNavigation设置URL状态。