表单状态与交互体验

共 20 题
#

1. RHF 的 useFormContext 与 Controller 在组件解耦的应用

A 只样式
B 都只传 props
C 无法解耦
D 共享表单实例解耦组件,Controller 桥接受控组件 ✓ 正确答案
#

2. 字段级校验与服务端校验的协作

A 只服务器
B 客户端即时校验 + 服务端权威校验,错误合并 ✓ 正确答案
C 只客户端
D 互不相关
#

3. Floating UI (@floating-ui/react) 在 Popper/Anchor 定位的工程取舍(含 popover)

A 仅框架绑定
B 内置样式
C 无法碰撞
D 精确定位 + 碰撞处理,headless 可组合 ✓ 正确答案
#

4. React Aria (react-aria-components) 在 Headless UI + i18n + a11y 的工程价值

A headless 逻辑内置 a11y + i18n,可自由定制 ✓ 正确答案
B 内置样式
C 无 a11y
D 仅英文
#

5. 表单草稿自动保存(localStorage/IndexedDB/服务端)的存储选择与冲突恢复(本地草稿 vs 服务端最新)

A 直接覆盖
B 版本/时间戳比对,让用户决策,避免覆盖 ✓ 正确答案
C 无恢复
D 只存本地
#

6. 表单状态与 URL query 同步的工程价值(可分享、刷新与后退恢复)及序列化边界

A 无恢复
B 全部放入
C 无法同步
D 放简单可序列化状态,复杂/敏感数据不放入 ✓ 正确答案
#

7. dirtyFields/touchedFields/errors 的语义差异与保存按钮禁用、字段级错误时机、isDirty 对比的工程应用

A 都标记错误
B 两者相同
C touched 标记改动
D dirty 标记改动,touched 标记交互过 ✓ 正确答案
#

8. 错误信息展示与可访问性

A aria-describedby/aria-invalid 关联 + 焦点管理 ✓ 正确答案
B 只颜色
C 无 aria
D 不聚焦
#

9. <a> 与 <button> 责任分工 与 SSR/水合过程的边界

A 无分工
B <a> 动作
C <button> 导航
D <a> 导航、<button> 动作,SSR 保水合一致 ✓ 正确答案
#

10. 动态字段数组(useFieldArray)在订单/发票的应用

A 无动态
B 静态行
C 无法计算
D 动态行增删 + 行内计算 + 合计 ✓ 正确答案
#

11. 表单输入的性能优化(防抖/节流/受控)如何选择,大表单的渲染优化怎么做?

A 无优化
B 整表重渲染
C 全受控
D 字段级订阅 + 组件拆分,避免整表重渲染 ✓ 正确答案
#

12. Conform(渐进增强)与 React 19 form action 的工程价值

A 无服务端
B 仅客户端
C 原生表单语义 + 渐进增强 + 服务端处理 ✓ 正确答案
D 无原生
#

13. 表单无障碍,aria-invalid/aria-describedby 的关联与提交失败时的错误焦点管理

A 只变色
B 不移动焦点
C 无 aria
D 焦点移到错误字段/容器,aria-live 播报 ✓ 正确答案
#

14. 同页多表单协作的状态隔离与汇总提交设计

A 无法隔离
B 共享状态
C 独立实例隔离状态 + 汇总提交 + 联动机制 ✓ 正确答案
D 无汇总
#

15. 大型表单的性能优化(按需校验、字段级订阅、避免整表重渲染)

A 整表重渲染
B 全量校验
C 按需校验 + 字段级订阅 + 避免整表重渲染 ✓ 正确答案
D 无优化
#

16. 表单状态在页面刷新后的恢复与过期草稿的处理策略

A 持久化恢复 + 时间戳判断过期并提示 ✓ 正确答案
B 直接丢弃
C 无恢复
D 不判过期
#

17. 表单隐式提交,Enter 在单输入框与多输入框的默认行为差异、textarea 换行与多提交按钮的首按钮规则

A 最后一个
B 第一个 submit 按钮 ✓ 正确答案
C 无按钮
D 禁止提交
#

18. RHF 与 Zod resolver 的 schema 单一来源,类型推导、服务端复用与校验逻辑分层的边界

A 无分层
B 客户端权威
C 客户端即时校验 + 服务端权威校验,共享基础 schema ✓ 正确答案
D 服务端不校验
#

19. 表单提交幂等与防重复提交(提交锁、请求去重)的工程实践

A 仅服务端
B 仅客户端
C 客户端提交锁 + 服务端幂等 ✓ 正确答案
D 无防护
#

20. 表单错误消息的国际化,字段名占位、复数规则与 RTL 布局下错误展示的适配

A 仅英文
B 硬编码
C 无复数
D 字段名占位 + 复数规则 + RTL 适配 ✓ 正确答案