一次提交如何穿过状态机
选择服务器结果再提交。实验会保留或清空字段、移动焦点,并把两个 Hook 的可见范围并排展示。
idle → pending →(success / 字段错误 / 未知错误)
idle
等待用户动作
pending
文字反馈与防误点
success
服务器确认后清空
字段错误
返回状态并保留输入
未知错误
交给错误边界
0到达服务器的请求
0数据库实际写入
任务草稿表单
useActionState 接收 previousState 与 FormData,并返回可序列化状态。
防误点不等于防重复写入。
disabled 只能减少连续点击,刷新、双标签页、网络重试和直接 POST 仍会到达服务器。
意图键:intent-A7
重复请求:0
服务器回执:尚未写入
最近的 error.tsx 接管了未知故障
这不是用户修改一个字段就能修复的预期失败,因此不伪装成字段错误,也不会清空输入。
乐观评论:先显示,再校准或回滚
临时评论只在 Action 期间存在。服务器成功后用真实记录替换;失败时撤销临时项并保留输入。
挑战 1 / 12
正在载入题目……
选择一个答案后检查。
任务评论
待确认项同时显示“发送中”,不只依赖颜色。