react/jsx-boolean-value 样式
作用
在你的代码中强制使用一致的布尔属性样式。
为什么这不好?
在 JSX 中,你可以将布尔属性设置为 true,或者省略它。 此规则将强制布尔属性使用一致的样式。
示例
以下是此规则在默认 "never" 模式下的错误代码示例:
jsx
const Hello = <Hello personal={true} />;以下是此规则在默认 "never" 模式下的正确代码示例:
jsx
const Hello = <Hello personal />;
const Foo = <Foo isSomething={false} />;以下是此规则在 "always" 模式下的错误代码示例:
jsx
const Hello = <Hello personal />;以下是此规则在 "always" 模式下的正确代码示例:
jsx
const Hello = <Hello personal={true} />;配置
第 1 个选项
type: "always" | "never"
"always"
所有布尔属性都必须显式指定值。
"never"
所有布尔属性都必须省略被设置为 true 的值。
第 2 个选项
此选项是一个包含以下属性的对象:
always
type: string[]
default: []
应始终具有显式布尔值的属性名列表。 仅在主模式为 "never" 时需要。
assumeUndefinedIsFalse
type: boolean
default: false
如果为 true,将把 prop={false} 视为与该 prop 为 undefined 等价。 与 "never" 模式结合时,这将强制该属性完全省略。
jsx
// 当 "assumeUndefinedIsFalse": true 时
<App foo={false} />; // 错误
<App />; // 正确此选项在 "always" 模式下不起作用。
never
type: string[]
default: []
不应始终具有显式布尔值的属性名列表。 仅在主模式为 "always" 时需要。
如何使用
To enable this rule using the config file or in the CLI, you can use:
json
{
"plugins": ["react"],
"rules": {
"react/jsx-boolean-value": "error"
}
}ts
import { defineConfig } from "oxlint";
export default defineConfig({
plugins: ["react"],
rules: {
"react/jsx-boolean-value": "error",
},
});bash
oxlint --deny react/jsx-boolean-value --react-plugin版本
此规则于 v0.7.0 中添加。
