Data Fetching
本指南聚焦“拿到数据并稳定展示”,不绑定某个具体库,而是给出选择与组合的框架。
TL;DR
- 先明确:数据来自哪里(客户端/服务端)、何时获取(进入页/交互后)、是否需要缓存。
- 优先用“框架/平台”能力(例如路由级数据加载、服务端渲染)减少自建成本。
- 在 UI 层处理三态:loading/error/success,并避免重复请求与竞态。
问题定义
数据获取通常不是“发一次请求”这么简单,而是包含缓存、一致性、并发、错误重试与用户体验。
推荐做法
- 把数据获取放在最接近“数据边界”的位置(路由/服务端/集中层),UI 只消费结果。
- 为请求建立统一的“键”(key),让缓存、失效与预取可控。
- 把错误可视化,并给用户可操作的恢复路径(重试/回退)。
常见坑
- 在 Effect 里直接写请求却没处理取消/竞态,导致旧请求覆盖新状态。
- 把“缓存”当成“状态”,导致到处重复 fetch、难以统一失效策略。
延伸阅读
- Learn:使用 Effect 同步
- Explanation:渲染原理
这篇文章有帮助吗?
Previous / Next
Related Links