跳至内容

@stylistic/eslint-plugin-jsx

用于 ESLint 的 JSX 样式规则,从 eslint-plugin-react 迁移而来。与 React 解耦,支持通用 JSX 语法。

感谢所有为原始规则做出贡献的贡献者。

提示

我们建议使用 @stylistic/eslint-plugin,因为它包含 JavaScript 和 TypeScript 的规则

安装

sh
npm i -D @stylistic/eslint-plugin-jsx

@stylistic/jsx 添加到您的插件列表中,并将 样式规则 的前缀从 react 更改为 @stylistic/js

js
// eslint.config.js
import stylisticJsx from '@stylistic/eslint-plugin-jsx'

export default [
  {
    plugins: {
      '@stylistic/jsx': stylisticJsx
    },
    rules: {
      'react/jsx-indent': ['error', 2],
      '@stylistic/jsx/jsx-indent': ['error', 2],
      // ...
    }
  }
]
js
// .eslintrc.js
module.exports = {
  plugins: [
   '@stylistic/jsx'
  ],
  rules: {
    'react/jsx-indent': ['error', 2],
    '@stylistic/jsx/jsx-indent': ['error', 2],
    // ...
  }
}

查看 迁移指南 以了解更多详细信息。

规则

每个规则都有表情符号表示
💼
该规则是共享配置的一部分
🔧
一些报告的问题可以通过 --fix 命令行选项修复
规则描述
jsx-child-element-spacing强制或禁止在 JSX 属性和表达式中的花括号内使用空格
jsx-closing-bracket-location强制在 JSX 中使用闭合括号的位置💼🔧
jsx-closing-tag-location强制在多行 JSX 中使用闭合标签的位置💼🔧
jsx-curly-brace-presence禁止在仅使用文字时使用不必要的 JSX 表达式,或强制在 JSX 子元素或属性中的文字中使用 JSX 表达式💼🔧
jsx-curly-newline强制在 JSX 属性和表达式中的花括号中使用一致的换行符💼🔧
jsx-curly-spacing强制或禁止在 JSX 属性和表达式中的花括号内使用空格💼🔧
jsx-equals-spacing强制或禁止在 JSX 属性中的等号周围使用空格💼🔧
jsx-first-prop-new-line强制在 JSX 中使用第一个属性的正确位置💼🔧
jsx-function-call-newline强制在将 JSX 元素用作函数参数时,在 JSX 元素前后使用换行符。💼🔧
jsx-indent强制 JSX 缩进💼🔧
jsx-indent-props强制在 JSX 中缩进属性💼🔧
jsx-max-props-per-line强制在 JSX 中每行上的属性数量最大值💼🔧
jsx-newline要求或禁止在 jsx 元素和表达式之后使用换行符。🔧
jsx-one-expression-per-line要求每行一个 JSX 元素💼🔧
jsx-pascal-case强制使用 PascalCase 命名用户定义的 JSX 组件
jsx-props-no-multi-spaces不允许在内联 JSX 属性之间出现多个空格🔧
jsx-self-closing-comp不允许对没有子元素的组件使用额外的结束标签🔧
jsx-sort-props强制按字母顺序排序属性🔧
jsx-tag-spacing强制在 JSX 开闭括号内和周围使用空格💼🔧
jsx-wrap-multilines不允许在多行 JSX 周围缺少括号💼🔧
总共 20 条规则。