React 19单选按钮提交后显示未选中但状态为选中的异常问题
Next 15(基于React 19)受控表单单选按钮视觉状态异常问题
在Next 15(基于React 19)的受控表单中出现如下异常:提交表单且后端Action返回错误状态后,已选中的单选按钮视觉上显示为未选中,但React状态仍标记其为选中状态(例如选中Radio 1后,控制台输出formValues.searchType = 1),同时依赖该状态的条件渲染区块仍能正常显示。
背景说明
React 19表单提交后会自动清空表单内容,为了避免验证错误时表单被清空,将表单改为受控模式,该模式对文本输入框有效,但单选按钮出现上述异常。
复现步骤
- 选中Radio 1选项
- 点击表单提交按钮
- 后端Action返回带错误的响应状态
- 页面上Radio 1显示为未选中状态
- 控制台打印显示
formValues.searchType = 1 - 依赖
searchType状态的条件区块1仍正常渲染
已尝试的解决方案(均无效)
- 使用
defaultValue的非受控表单模式:因业务需要通过状态控制条件区块渲染,无法采用该方案 - 分别测试原生HTML
<form>和Next.js的<Form>组件:两种方式下均存在相同问题
内容的提问来源于stack exchange,提问作者user28807939
相关产品推荐
相关产品推荐

