jsx-indent
强制执行 JSX 缩进。
注意:修复程序将修复空格和制表符缩进。
规则详情
此规则旨在强制执行一致的缩进样式。默认样式为4 个空格
。
此规则的错误代码示例
jsx
// 2 spaces indentation
<App>
<Hello />
</App>
// no indentation
<App>
<Hello />
</App>
// 1 tab indentation
<App>
<Hello />
</App>
规则选项
它将一个选项作为第二个参数,该参数可以是基于制表符的缩进的"tab"
或基于空格缩进的正数。若要启用属性缩进检查或向逻辑表达式添加缩进,请使用第三个参数分别打开checkAttributes
(默认值为 false)和indentLogicalExpressions
(默认值为 false)。
js
...
"@stylistic/jsx/jsx-indent": [<enabled>, 'tab'|<number>, {checkAttributes: <boolean>, indentLogicalExpressions: <boolean>}]
...
此规则的错误代码示例
jsx
// 2 spaces indentation
// [2, 2]
<App>
<Hello />
</App>
// tab indentation
// [2, 'tab']
<App>
<Hello />
</App>
// [2, 2, {checkAttributes: true}]
<App render={
<Hello render={
(bar) => <div>hi</div>
}
/>
}>
</App>
// [2, 2, {indentLogicalExpressions: true}]
<App>
{condition && (
<Hello />
)}
</App>
此规则的正确代码示例
jsx
// 2 spaces indentation
// [2, 2]
<App>
<Hello />
</App>
// tab indentation
// [2, 'tab']
<App>
<Hello />
</App>
// no indentation
// [2, 0]
<App>
<Hello />
</App>
// [2, 2, {checkAttributes: false}]
<App render={
<Hello render={
(bar) => <div>hi</div>
}
/>
}>
</App>
// [2, 2, {indentLogicalExpressions: true}]
<App>
{condition && (
<Hello />
)}
</App>
何时不使用
如果您未使用 JSX,则可以禁用此规则。