React.js 认为所有的状态都应该由 React.js 的 state 控制,只要类似于 <input />
、<textarea />
、<select />
这样的输入控件被设置了 value
值,那么它们的值永远以被设置的值为准。值不变,value
就不会变化
类似于 <input />
、<select />
、<textarea>
这些元素的 value
值被 React.js 所控制、渲染的组件,在 React.js 当中被称为受控组件(Controlled Component)。对于用户可输入的控件,一般都可以让它们成为受控组件,这是 React.js 所推崇的做法。
如何使变为受控组件:
<input value={this.state.username} onChange={this.handleUsernameChange.bind(this)}/>
handleUsernameChange(event){
this.setState({
username:event.target.value
})
}