Ben*_*ene 35 javascript reactjs
这合法吗?
componentWillReceiveProps: function(nextProps) {
if (typeof nextProps.contact != 'undefined') {
this.setState({forename: nextProps.contact.forename});
this.setState({surname: nextProps.contact.surname});
this.setState({phone: nextProps.contact.phone});
this.setState({email: nextProps.contact.email});
}
}
Run Code Online (Sandbox Code Playgroud)
因为我不知道如何填充我的输入,但仍然能够让用户编辑输入.所以我提出了这个解决方案,而不是试图操纵this.props.
有什么建议?
Mik*_*nov 38
根据反应文档,您的代码是合法的.
您也可以考虑将此代码放在getInitialState方法中,因为根据另一个反应文档初始化来自props不是反模式.
您还可以使用一个setState方法调用替换多个调用:
this.setState({forename: nextProps.contact.forename,
surname: nextProps.contact.surname,
phone: nextProps.contact.phone,
email: nextProps.contact.email});
Run Code Online (Sandbox Code Playgroud)