前端开发示例文章
React 状态管理:先划清边界,再选择工具
哪些状态属于组件,哪些应该放到 URL,哪些来自服务端?比起选一个状态库,先回答这些问题更重要。
先判断状态属于哪里
弹窗是否打开,通常只影响一个组件。筛选条件需要分享给别人时,更适合出现在 URL 中。来自接口的数据又有自己的缓存与失效周期。
三类常见状态
- 界面状态:弹窗、折叠、当前编辑内容。
- 导航状态:关键词、分类、页码。
- 服务端状态:文章列表、账户资料、权限。
避免重复保存派生值
一个值可以由现有状态计算得到时,先考虑在渲染期间计算,而不是创建一个新状态来同步它。
tsx
const visiblePosts = posts.filter(post =>
post.title.includes(keyword)
);从最小方案开始
组件状态从 useState 开始。当跨组件共享或缓存策略成为实际问题时,再增加工具。