2016-03-18 35 views
42

我正在使用"eslint-config-airbnb": "^6.1.0",來保持我的JavaScript清潔。圍繞箭頭主體的意外的塊聲明

我棉短絨是不滿似乎是合法的代碼:

enter image description here

看起來這可能是一個ongoing issue。有沒有人對OCD開發者提出如何解決這個問題的建議?也許禁用此規則或以其他方式?

+2

爲什麼您需要'{return ...}'爲單個語句?你可以使用'this.state.todos.filter(filterTodo => filterTodo!== todo' – sarbbottam

+1

你鏈接到的問題頁面很好地解釋了情況,混淆的地方在哪裏?它看起來像是一個錯誤而不是警告,儘管這可能可以配置。 –

回答

65

單個表達式不需要塊語句。

this.state.todos.filter(filterTodo => filterTodo !== todo); 
1

要添加凱文答案,錯誤與您的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