Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 获取错误无法读取属性';设置状态';未定义的_Reactjs_React Redux - Fatal编程技术网

Reactjs 获取错误无法读取属性';设置状态';未定义的

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

我是新来的。我尝试做一些非常简单的事情:当用户更改文本区域内的文本时,更新渲染函数内的div。有什么建议吗

类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函数之间的区别吗?作为最佳实践,什么更好?谢谢你的回答