我对 React 很陌生,在学习了一些教程后,我尝试了我的以下代码。
我制作了一个组件,将props从商店传递给它,然后componentWillMount
我为组件创建了一个新状态。渲染到现在都没问题。
接下来,我将我state
的值绑定到输入框的值,并且我也有onChange
监听器。尽管如此,我无法改变我在该领域的value观。
因为,我从角的背景是,我假设输入的值绑定状态像下面会自动更新属性name
的state
对象。我在这里错了吗?
componentWillMount(){
this.setState({
updatable : false,
name : this.props.name,
status : this.props.status
});
}
//relevant DOM from component's render function
<input className="form-control" type="text" value={this.state.name} id={'todoName' + this.props.id} onChange={this.onTodoChange.bind(this)}/>
onTodoChange(){
console.log(this);
//consoling 'this' here, shows old values only.
//not sure how and even if I need to update state here.
// Do I need to pass new state to this function from DOM
//TODO: send new data to store
}
我的onTodoChange
函数控制台的值与this
初始化时的状态值相同。我如何通过在输入框中输入来更改状态,以便我可以将它们发送到商店?