我有一个简单的 React 组件,我认为它具有一个受控输入的形式:
import React from 'react'; export default class MyForm extends React.Component { constructor(props) { super(props); this.state = {} } render() { return ( <form className="add-support-staff-form"> <input name="name" type="text" value={this.state.name} onChange={this.onFieldChange('name').bind(this)}/> </form> ) } onFieldChange(fieldName) { return function (event) { this.setState({[fieldName]: event.target.value}); } } } export default MyForm;
当我运行我的应用程序时,我收到以下警告:
警告:MyForm 正在将不受控制的文本类型输入更改为受控制。输入元素不应从不受控制切换到受控(反之亦然)。在组件的生命周期内决定使用受控或非受控输入元素
我相信我的输入是受控的,因为它有价值。我想知道我做错了什么?
我正在使用 React 15.1.0