05 · 实验 B
useActionState:pending 与校验回显
useActionState 不止绑定表单,还能拿到 pending(提交中)状态、服务端返回的校验错误,并回显到对应输入框。
关键认知
const [state, formAction, isPending] = useActionState(action, initialState)state是 action 的返回值;isPending在 action 执行期间为true,用于禁用按钮 / 显示 loading。- action 的第一个参数是上一次的 state(
prevState),所以校验失败可以返回错误、再回显——不用依赖任何客户端状态库。