为什么这会在eslint中触发逗号纠缠规则?

Mon*_*key 6 eslint

这看起来对我来说是正确的,但为什么eslint会显示规则违规,comma-dangle在最后一个属性"凭据"末尾缺少尾随逗号?

  dispatch({
    type: LOGIN_USER,
    payload: credentials
  });
Run Code Online (Sandbox Code Playgroud)

.eslintrc

{
  "extends": "airbnb",
  "globals": {
    "__DEV__": true
  },
  "rules": {
    "react/jsx-quotes": 0,
    "jsx-quotes": [2, "prefer-double"]
  }
}
Run Code Online (Sandbox Code Playgroud)

小智 10

我使用以下组合(这对我有用)

[1] .eslintrc.json

"rules": {        
        "comma-dangle": [2, "always-multiline"]         
    }
Run Code Online (Sandbox Code Playgroud)

[2] JsPrettier | 更漂亮

"trailingComma": "all"
Run Code Online (Sandbox Code Playgroud)

结果

dispatch({
  type: LOGIN_USER,
  payload: credentials,
});
Run Code Online (Sandbox Code Playgroud)


Gya*_*eep 8

根据airbnb配置,规则设置如下 comma-dangle: [2, "always-multiline"].

根据这个,expected代码是

  dispatch({
    type: LOGIN_USER,
    payload: credentials,
  });
Run Code Online (Sandbox Code Playgroud)

它预计会,在最后.

有关规则的更多信息:http://eslint.org/docs/rules/comma-dangle

  • 这似乎是一个奇怪的规则,背后的风格原因是什么? (7认同)
  • [这个](https://medium.com/@nikgraf/why-you-should-enforce-dangling-commas-for-multiline-statements-d034c98e36f8)主题对此进行了一些解释 (2认同)