围绕箭头主体的意外块语句

IT技术 reactjs ecmascript-6 eslint
2021-04-19 05:13:04

"eslint-config-airbnb": "^6.1.0",用来保持我的 JavaScript 干净。

我的 linter 对看似合法的代码不满意:

在此处输入图片说明

这似乎是一个持续存在的问题在此期间,有人对 OCD 开发人员如何解决此问题有任何建议吗?也许禁用此规则或以其他方式?

3个回答

单个表达式不需要块语句。

this.state.todos.filter(filterTodo => filterTodo !== todo);
@Jonny 那么你可能更喜欢不使用箭头函数,如果你更喜欢冗长的代码而不是其他一切。对于每个人来说,这个答案和它所针对的问题并不涉及代码的“清晰”程度。这主要是无关紧要的。
2021-05-30 05:13:04
vscode 也会为单行表达式抛出错误 - image.ibb.co/jUzGRx/Screen_Shot_2018_04_27_at_3_10_46_PM.png
2021-06-02 05:13:04
@Jonny 它不再清晰易读。就是这样。
2021-06-05 05:13:04
嗯不确定是否更清晰。
2021-06-08 05:13:04
呃,不,它会发出警告。您可以(并且可能应该)配置的一个
2021-06-10 05:13:04

要添加 Kevin 的回答,该错误与您的 eslint 配置有关。这就是说,如果arrow-body-style选项设置为 true,则 OP 是正确的。另一个例子是这样的:

    return this.state.greetings.map((name) => {
        return <HelloWorld key={name} name={name} />;
    });

没有arrow-body-style选项,{ return ...}根据凯文的回答,不需要块语句 ( )。

这实际上开启了一个关于哪种风格更合适的新问题。

如需进一步参考:http : //eslint.org/docs/rules/arrow-body-style

如果你真的不想在块语句中包装箭头函数,那么你可以关闭。

module.exports = {
  extends: "airbnb-base",
  rules: {
    "arrow-body-style": 0
  },
  "env": {
    "jest": true
  }
};