Reactjs 获取错误无法读取属性';设置状态';未定义的
我是新来的。我尝试做一些非常简单的事情:当用户更改文本区域内的文本时,更新渲染函数内的div。有什么建议吗Reactjs 获取错误无法读取属性';设置状态';未定义的,reactjs,react-redux,Reactjs,React Redux,我是新来的。我尝试做一些非常简单的事情:当用户更改文本区域内的文本时,更新渲染函数内的div。有什么建议吗 类HTMLEditor扩展React.Component{ 建造师(道具){ 超级(道具); this.state={value:'Put here HTML'}; } 手变(e){ this.setState({value:e.currentTarget.value}); } render(){ 返回( {this.state.value} ); } } ReactDOM.render
类HTMLEditor扩展React.Component{
建造师(道具){
超级(道具);
this.state={value:'Put here HTML'};
}
手变(e){
this.setState({value:e.currentTarget.value});
}
render(){
返回(
{this.state.value}
);
}
}
ReactDOM.render(
,
document.getElementById('容器')
);
您应该绑定handleChange
函数。出现此错误的原因是,在handleChange函数中,此keywork未引用React类的上下文,因此需要绑定该函数
请参见
类HTMLEditor扩展React.Component{
建造师(道具){
超级(道具);
this.state={value:'Put here HTML'};
}
handleChange=(e)=>{
this.setState({value:e.currentTarget.value});
}
render(){
返回(
{this.state.value}
);
}
}
ReactDOM.render(
,
document.getElementById('容器')
);代码>
只需将handleChange
绑定到组件即可。在构造函数中添加this.handleChange=this.handleChange.bind(this)
,谢谢你们!!您能解释一下this.handleChange=this.handleChange.bind(this)与arrow函数之间的区别吗?作为最佳实践,什么更好?谢谢你的回答