react-dom.development.js:1680 Warning: 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`. in input (created by Hello) in Hello
时间: 2023-07-02 09:09:47 浏览: 429
这个警告提示你在一个表单字段上提供了 `value` 属性,但是没有提供 `onChange` 处理函数。这样会导致该字段只读,如果该字段应该是可变的,请使用 `defaultValue`。否则,请设置 `onChange` 或 `readOnly` 属性。在你的代码中,你需要为这个表单字段提供一个 `onChange` 处理函数来处理用户输入的变化。例如:
```
class Hello extends React.Component {
constructor(props) {
super(props);
this.state = { value: '' };
this.handleChange = this.handleChange.bind(this);
}
handleChange(event) {
this.setState({ value: event.target.value });
}
render() {
return (
<form>
<label>
Name:
<input type="text" value={this.state.value} onChange={this.handleChange} />
</label>
</form>
);
}
}
```
在这个例子中,我们为 `input` 元素提供了一个 `onChange` 处理函数 `handleChange`,它会更新组件状态中的 `value` 属性。这样就可以避免这个警告了。
阅读全文