我有一个React项目。该项目使用默认配置create-react-app
进行引导。我在第60行的类中定义了一个箭头函数:
handleClose = () => {
this.props.history.push('/');
window.location.reload();
}
但是在编译时会出现错误:
你能帮我解决这个问题吗?它说函数本身没有在60
行定义,但我们只在那一行定义了该函数。请注意,这不是调用函数的问题。编译器为定义的所有箭头函数提供错误。
答案 0 :(得分:0)
一个原因可能是javascript中默认不是语法。您需要通过安装stage-0
或stage-3
预设为
npm install --save-dev babel-preset-stage-0
然后在.babelrc文件中将预设设置为:
{
"presets": ["stage-0"]
}
您所包含的函数语法是提交给ECMAScript但尚未标准化的想法。
答案 1 :(得分:0)
可能会发生这种情况,因为您可能在调用时忘记使用this.functionName()。
HandleClick =()=> (console.log('clicked'));
这就是你可以调用该功能的方法: -
答案 2 :(得分:-3)
这可能是一个背景问题。您可能必须在构造函数中使用this.handleClose = this.handleClose.bind(this);
将其绑定到您的类。