2

我正在使用 React 和 ESlint 配置一个新应用程序。在我的 .eslintrc.js文件中,我正在扩展 airbnb 并像这样覆盖他们的一些规则。

.eslintrc.js
module.exports = {
  "parser": "babel-eslint",
  "parserOptions": {
    "ecmaVersion": 6,
    "sourceType": "module",
    "cmaFeatures": {
      "jsx": true,
      "modules": true,
      "experimentalObjectRestSpread": true
    }
  },
  "env": {
    "browser": true,
    "node": true,
    "jest": true
  },
  "plugins": [
    "react",
    "jest",
    "styled-components-config"
  ],
  "extends": "airbnb",
  "rules": {
    "arrow-body-style": "off",
    "arrow-parens": "off",
    "comma-dangle": "off",
    "consistent-return": "off",
    "eol-last": "error",
    "jsx-one-expression-per-line": "off",
  }
}

当我启动我的 webpack 开发服务器时,我在终端中没有收到任何错误,但在我的 IDE(VSCode)中它仍然给我一个错误。

ConversationsCard.js
import React from 'react';

export const ConversationsCard = (props) => {
  const { number } = props;
  return (
    <li>Conversation {number}</li> // error here `Conversation ` must be placed on a new lineeslint(react/jsx-one-expression-per-line
  );
};

我没有全局安装 ESlint,所以它应该查看我的.eslintrc.js. 我似乎无法弄清楚出了什么问题。我已经尝试更改"off"0和其他一些东西。任何见解将不胜感激。

4

1 回答 1

0

所以问题是我没有为规则使用正确的名称。ESLint 抛出了一个错误

jsx-one-expression-per-line

但是当你在你的规则中声明.eslintrc.js它应该像这样声明

"react/jsx-one-expression-per-line": "off",

于 2019-03-15T14:00:03.320 回答