Skip to content
← Back to rules

react/no-multi-comp Restriction

功能

阻止在同一个文件中定义多个 React 组件。

为什么这不好?

在单个文件中声明多个组件会使代码库更难导航和维护。为了更好的组织性和可复用性,每个组件理想情况下都应该放在各自的文件中。

示例

以下是此规则的错误代码示例:

jsx
function Foo({ name }) {
  return <div>Hello {name}</div>;
}

function Bar({ name }) {
  return <div>Hello again {name}</div>;
}

以下是此规则的正确代码示例:

jsx
function Foo({ name }) {
  return <div>Hello {name}</div>;
}

配置

ignoreStateless

type: boolean

default: false

当为 true 时,此规则将忽略无状态组件,并允许你在同一个文件中包含多个无状态组件。或者在同一个文件中包含一个有状态组件和一个或多个无状态组件。

无状态基本上就是指函数组件,包括通过 memoforwardRef 创建的组件。

如何使用

To enable this rule using the config file or in the CLI, you can use:

json
{
  "plugins": ["react"],
  "rules": {
    "react/no-multi-comp": "error"
  }
}
ts
import { defineConfig } from "oxlint";

export default defineConfig({
  plugins: ["react"],
  rules: {
    "react/no-multi-comp": "error",
  },
});
bash
oxlint --deny react/no-multi-comp --react-plugin

版本

此规则是在 v1.43.0 中添加的。

参考资料