jsx-first-prop-new-line
强制 JSX 中第一个属性的正确位置。
规则详情
此规则检查所有 JSX 元素的第一个属性是否放置正确。有以下配置选项:
always
: 第一个属性应始终放在新行。never
: 第一个属性永远不要放在新行,例如,应始终与组件的开始标签在同一行。multiline
: 当 JSX 标签占用多行时,第一个属性应始终放在新行。multiprop
: 除非有多个属性,否则第一个属性永远不要放在新行。multiline-multiprop
: 当 JSX 标签占用多行且有多个属性时,第一个属性应始终放在新行。这是默认值。
当配置为 "always"
时,此规则的错误代码示例:
jsx
<Hello personal={true} />
<Hello personal={true}
foo="bar"
/>
当配置为 "always"
时,此规则的正确代码示例:
jsx
<Hello
personal />
<Hello
personal
/>
当配置为 "never"
时,此规则的错误代码示例:
jsx
<Hello
personal />
<Hello
personal
/>
当配置为 "never"
时,此规则的正确代码示例:
jsx
<Hello personal={true} />
<Hello personal={true}
foo="bar"
/>
当配置为 "multiline"
时,此规则的错误代码示例:
jsx
<Hello personal
prop />
jsx
<Hello foo={{
}} />
当配置为 "multiline"
时,此规则的正确代码示例:
jsx
<Hello personal={true} />
<Hello
personal={true}
foo="bar"
/>
当配置为 "multiline-multiprop"
时,此规则的错误代码示例:
jsx
<Hello foo={{
}}
bar />
当配置为 "multiline-multiprop"
时,此规则的正确代码示例:
jsx
<Hello foo={{
}} />
<Hello
foo={{
}}
bar
/>
规则选项
jsx
"@stylistic/jsx/jsx-first-prop-new-line": `"always" | "never" | "multiline" | "multiprop" | "multiline-multiprop"`
何时不使用它
如果您没有使用 JSX,则可以禁用此规则。