返回文章列表
前端开发示例文章

React 状态管理:先划清边界,再选择工具

哪些状态属于组件,哪些应该放到 URL,哪些来自服务端?比起选一个状态库,先回答这些问题更重要。

先判断状态属于哪里

弹窗是否打开,通常只影响一个组件。筛选条件需要分享给别人时,更适合出现在 URL 中。来自接口的数据又有自己的缓存与失效周期。

三类常见状态

  • 界面状态:弹窗、折叠、当前编辑内容。
  • 导航状态:关键词、分类、页码。
  • 服务端状态:文章列表、账户资料、权限。

避免重复保存派生值

一个值可以由现有状态计算得到时,先考虑在渲染期间计算,而不是创建一个新状态来同步它。

tsx
const visiblePosts = posts.filter(post =>
  post.title.includes(keyword)
);

从最小方案开始

组件状态从 useState 开始。当跨组件共享或缓存策略成为实际问题时,再增加工具。

© 2026 码间 · 保持好奇,持续记录。写作后台