#1. 一报错就给整个文件加 'use client'
这通常是在逃避边界设计,而不是解决问题。
#2. 在 Server Component 里 fetch('/api/xxx') 请求自己
如果你已经在服务端,优先直接调数据库或内部函数。
#3. 把 params、searchParams 还当同步对象
按当前官方文档写法,它们要按 Promise 来处理。
#4. 把 Route Handler 当“站内万能数据层”
它是 HTTP 边界,不是所有场景都该绕过去。
#5. 用 useEffect 拉首屏关键数据
首屏数据优先考虑放到 Server Component。
#6. 以为 Server Action 只能做“魔法表单”
本质上它就是服务端函数,只是和表单、缓存失效、跳转结合得非常自然。
#7. 不做 loading.tsx、error.tsx、not-found.tsx
真实线上系统必须有等待态、错误态和兜底页。
#8. 先写代码,最后才想部署方式
你要先决定:这是静态展馆,还是完整综合体。