Skip to content

🗃️ 状态管理

应用中分为以下五种状态,相应的方案如下:

组件状态(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状态。