我应该使用哪种生命周期方法来设置表单中的现有值?我无法做<input value={this.props.title} />
,因为我想将输入作为受控组件。
我可以在异步方法之后做一个承诺,但这会是反模式吗?
componentDidMount() {
this.props.fetchItem(this.itemId)
.then(v=>{this.setState({title: v.title})})
}
答案 0 :(得分:0)
您可以使用componentWillReceiveProps()方法将props值设置为state。
像这样。
componentWillReceiveProps(nextProps){
// store your props value to state here
if(nextProps.formData !== undefined){
this.setState({ formData: nextProps.formData });
}
}
在输入更改方法
上更新该状态值handleChange = (name, value) => {
// update state here
this.setState({ [name]: value });
}