2015-10-27 51 views
5

這看起來對我來說是正確的,但爲什麼eslint顯示規則違規,在最後一個屬性「credentials」末尾缺少尾隨逗號comma-dangle爲什麼這會觸發eslint中的逗號規則?

dispatch({ 
    type: LOGIN_USER, 
    payload: credentials 
    }); 

.eslintrc

{ 
    "extends": "airbnb", 
    "globals": { 
    "__DEV__": true 
    }, 
    "rules": { 
    "react/jsx-quotes": 0, 
    "jsx-quotes": [2, "prefer-double"] 
    } 
} 

回答

5

基礎上airbnb配置的規則是建立這樣 comma-dangle: [2, "always-multiline"]

Acoording於此,expected代碼是

dispatch({ 
    type: LOGIN_USER, 
    payload: credentials, 
    }); 

它期待一個,末。在規則

更多信息:http://eslint.org/docs/rules/comma-dangle

+0

這似乎是一個奇怪的規則,什麼是文體背後的原因是什麼? – MonkeyBonkey

+0

有很多選擇。您始終可以將選項設置爲「從不」。這樣它適用於你的代碼。 – Gyandeep

+1

反應正常並且正在運行「懸掛逗號(如let a = [1,]而不是let a = [1])可以被認爲是不好的(因爲它們在某些瀏覽器中曾經是一次語法錯誤),但他們也很方便,因爲它有助於維護源代碼管理「責備」,並且更容易更新「 – azibi