Node.js React.JS-在`onClick`事件上调用函数会导致`this`在函数中未定义
我有以下React.JS(Next.JS)代码:Node.js React.JS-在`onClick`事件上调用函数会导致`this`在函数中未定义,node.js,reactjs,this,Node.js,Reactjs,This,我有以下React.JS(Next.JS)代码: 导出默认类NavBar扩展React.Component{ 建造师(道具){ 超级(道具); 此.state={ 美诺朋:错 }; } render(){ 返回; } 切换菜单(){ this.setState({menuOpen:this.state.menuOpen?false:true}); } }; 但是,当单击图像并调用toggleMenu时,我会收到一个错误,提示this未定义。这是有意义的,因为函数正在被放入onClick事件中,
导出默认类NavBar扩展React.Component{
建造师(道具){
超级(道具);
此.state={
美诺朋:错
};
}
render(){
返回;
}
切换菜单(){
this.setState({menuOpen:this.state.menuOpen?false:true});
}
};
但是,当单击图像并调用
toggleMenu
时,我会收到一个错误,提示this
未定义。这是有意义的,因为函数正在被放入onClick
事件中,但是我如何解决这个问题呢?您需要将这个
上下文显式绑定到您的函数,如:
this.toggleMenu.bind(此)
或者使用箭头符号重新定义toggleMenu
函数,箭头符号隐式执行此操作:
toggleMenu = () => {
// method body here...
}
完美的不知道arrow函数会这么做。很高兴知道。12分钟过后我会接受答案的。
toggleMenu = () => {
// method body here...
}