React 19 的 useFormStatus 配合 Server Actions,做表单提交体验非常好。提交按钮的 loading 态一行就搞定:
function SubmitButton() {
const { pending } = useFormStatus();
return <button disabled={pending}>{pending ? "提交中" : "提交"}</button>;
}
关键是不用再手动维护 state,组件也更干净。配合 useActionState 拿错误信息,整个表单几乎零样板代码。
唯一不爽的是它必须在 <form> 内部才能拿到状态,跨组件层级有点别扭。
你们做表单还在用 react-hook-form 吗?还是直接上 Actions?