项目里把表单提交全换成了 Server Actions,整体真香,但坑也不少。最大的爽点是省了 API route、省了手写 fetch,form 提交后直接拿到新数据重渲染。
不爽的地方:
- 错误处理有点别扭,
useActionState的返回值结构要自己约定。 - 上传文件场景还是得绕回 API route。
- 调试不方便,断点不太能直接打到 action 里。
还有个隐藏好处:CSRF 几乎不用管了,框架自带 origin 校验。
你们在生产环境用 Server Actions 多吗?有没有踩过比较隐蔽的坑?