在我使用声纳扫描仪的 React 项目中出现意外标记 =(在模块模式下使用 espree 解析器)
Unexpected token = (with espree parser in module mode) in my react project using sonar-scanner
我在使用声纳扫描仪时遇到了这个错误。
它无法解析我使用箭头函数的所有文件。
import React from "react";
import { Button } from "antd";
import history from "src/components/history";
class BackButton extends React.Component {
handleClick = () => {
history.goBack();
if (this.props.onBack) {
this.props.onBack();
}
};
render() {
return <Button icon="arrow-left" onClick={this.handleClick} />;
}
}
export default BackButton;
第 6 行的错误。
需要一个解决方案来解决这个问题。
我怀疑问题不是箭头函数,而是 class 字段。您的 handleClick
是一个 class 字段(基本上是一个 属性 声明),使用箭头函数作为其初始值设定项。 class fields 提案已经成熟,但仍处于第 3 阶段,尚未真正包含在规范中(甚至不包含在 ES2020 中)。相比之下,箭头函数已经在语言中存在了五年多。
您需要确保启用对 class 字段的支持。
为了在 class 中使用箭头函数,你需要在你的 babel 配置中启用这个插件。
{
"plugins": [
"transform-class-properties"
]
}
或者你可以这样做
class BackButton extends React.Component {
constructor() {
super();
this.handleClick = (val) => {
...
};
…
}
}
我在使用声纳扫描仪时遇到了这个错误。 它无法解析我使用箭头函数的所有文件。
import React from "react";
import { Button } from "antd";
import history from "src/components/history";
class BackButton extends React.Component {
handleClick = () => {
history.goBack();
if (this.props.onBack) {
this.props.onBack();
}
};
render() {
return <Button icon="arrow-left" onClick={this.handleClick} />;
}
}
export default BackButton;
第 6 行的错误。 需要一个解决方案来解决这个问题。
我怀疑问题不是箭头函数,而是 class 字段。您的 handleClick
是一个 class 字段(基本上是一个 属性 声明),使用箭头函数作为其初始值设定项。 class fields 提案已经成熟,但仍处于第 3 阶段,尚未真正包含在规范中(甚至不包含在 ES2020 中)。相比之下,箭头函数已经在语言中存在了五年多。
您需要确保启用对 class 字段的支持。
为了在 class 中使用箭头函数,你需要在你的 babel 配置中启用这个插件。
{
"plugins": [
"transform-class-properties"
]
}
或者你可以这样做
class BackButton extends React.Component {
constructor() {
super();
this.handleClick = (val) => {
...
};
…
}
}