如果你用传统 React SPA 做业务系统,很容易走到这条路:
进入页面
↓
组件挂载
↓
useEffect 开始 fetch
↓
先显示 loading
↓
拿到数据 setState
↓
渲染内容
↓
用户提交表单
↓
fetch POST
↓
自己处理 loading / error / success / 跳转 / 刷新这条路的问题不是不能用,而是:
- 页面数据和 URL 关系很松
- 提交后谁该刷新,常常要自己管
- loading / error / optimistic UI 很容易散在组件里
- 表单和浏览器原生能力脱节
- SSR、SEO、无 JS 降级支持,经常后补
- 一旦页面复杂,就会变成“客户端自建一个小港口操作系统”
而 Remix 的路线是:
进入页面
↓
按路由执行 loader
↓
服务器先准备好这一站的数据
↓
HTML 直接带着内容回来
↓
用户提交表单
↓
action 处理写操作
↓
Remix 自动重验证相关 loader
↓
UI 与服务端重新对齐这意味着:
Remix 最擅长的,不是做“看起来很新”的花活,而是把 Web 里本来该顺的流转,做得非常顺。