05 · 实验 B

useActionState:pending 与校验回显

useActionState 不止绑定表单,还能拿到 pending(提交中)状态、服务端返回的校验错误,并回显到对应输入框。

关键认知

  • const [state, formAction, isPending] = useActionState(action, initialState)
  • state 是 action 的返回值;isPending 在 action 执行期间为true,用于禁用按钮 / 显示 loading。
  • action 的第一个参数是上一次的 stateprevState),所以校验失败可以返回错误、再回显——不用依赖任何客户端状态库。