Skip to content

第七章:URL、数据与服务端渲染 ​

数据与路由机制图

这一章先划清边界:React 核心负责用状态描述界面,不内置客户端路由器,也不提供通用的客户端请求缓存。路由匹配、返回/前进、深链接回源、数据预取、缓存失效和重试,必须由浏览器平台、应用代码或明确安装的框架/库承担。

前置与运行环境 ​

开始前应会使用组件、state、Effect 与 Effect 清理,并理解 Promise、fetch 和 AbortController。正文的核心实验基于 React 19 与浏览器标准 API,可放进已有 Vite React 项目;它们用于观察职责边界,不冒充 React Router、TanStack Query 等完整方案。

阅读顺序 ​

  1. URL 状态与数据加载:先让筛选条件可复制、可刷新、可通过返回键恢复,再为每次 URL 变化加载数据并丢弃过期结果。
  2. 路由错误边界与嵌套路由:把“匹配 URL”“组合父子布局”“处理未匹配地址”“隔离渲染崩溃”拆成四个责任。
  3. 缓存、失效与请求竞态:实现一个小型请求缓存,观察去重、TTL、主动失效与旧请求晚到时的处理。
  4. SSR、水合与服务端组件:从服务端 HTML 到客户端交互,区分渲染阶段、首次一致性与模块传输边界。

学完后的可观察成果 ​

你能说明一个状态为何应该进入 URL 而不是普通 state;能解释 pushState 为什么不会自动触发 popstate;能区分 404、数据加载失败和渲染异常;能用可控完成顺序证明竞态已被阻断;也能判断何时应停止自制设施,转而采用经过验证的路由或服务端状态库。

最后一篇在已有工程的独立目录里运行 Node 渲染与 Vite 客户端入口;RSC 部分明确标为需要框架的边界示意,不要求普通 Vite 执行服务端组件。完成练习后再看本章答案。下一章会把这些行为变成可重复测试、性能证据和发布门禁。

用心记录每一步成长