web-dev-qa-db-ja.com

矢印本体を囲む予期しないブロックステートメント

JavaScriptをクリーンに保つために"eslint-config-airbnb": "^6.1.0",を使用しています。

私のリンターは正当なコードと思われるものに不満を抱いています:

enter image description here

これは 継続中の問題 のようです。 OCD開発者に対して、これをどのように解決するかについての提案はありますか?おそらく、このルールを無効にするか、そうでないのでしょうか?

52
ilrein

単一の式にはブロックステートメントは必要ありません。

this.state.todos.filter(filterTodo => filterTodo !== todo);
81
Kevin B

Kevinの回答を追加すると、エラーはeslintの構成に関連しています。これは、arrow-body-styleオプションがtrueに設定されている場合、OPは正しいということです。他の例は次のようなものです:

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

arrow-body-styleオプションなしでは、Kevinの回答に従ってブロックステートメント({ return ...})は必要ありません。

これにより、実際にはどのスタイルがより適切であるかという新しい質問が開かれます。

詳細なリファレンス: http://eslint.org/docs/rules/arrow-body-style

2
Pobe

あなたが本当にブロックステートメントの中に矢印関数をラップしたくない場合は、オフにすることができます。

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