乐趣区

React报错 You provided a `value` prop to a form field without…

报错内容
Failed prop type: You provided a `value` prop to a form field without an `onChange` handler.
This will render a read-only field. If the field should be mutable use `defaultValue`.
Otherwise, set either `onChange` or `readOnly`.

<PhoneInput
key={key}
label={item.label}
name={key}
disabled
// readOnly
value={this.state[key]}
interCodeValue={this.state.intercode}
/>
原因
原因是因为 input 标签,没有定义 onChange 但是提供了 value 属性。React 会抛出警告,并将元素设置为只读。
如果目标是只读字段,最好使用 readOnly 属性明确加以定义。这不仅会消除警告,也会确保代码的可读性。
解决:
可以添加 readOnly={true},或者直接添加 readOnly 属性,而不设置值,React 会默认将该属性的值设为 true。

退出移动版