react-perf/jsx-no-new-function-as-prop Perf
作用
阻止将当前方法中本地定义的函数用作 JSX props 的值。
为什么这不好?
将本地定义的函数用作 props 的值可能会导致无意的重新渲染和性能问题。每次父组件渲染时,都会创建该函数的新实例,从而导致子组件发生不必要的重新渲染。这也会让代码更难维护,因为组件的 props 传递不够一致。
示例
以下是此规则的错误代码示例:
jsx
<Item callback={new Function(...)} />
<Item callback={this.props.callback || function() {}} />以下是此规则的正确代码示例:
jsx
<Item callback={this.props.callback} />配置
此规则接受一个配置对象,包含以下属性:
nativeAllowList
类型:array | "all"
nativeAllowList[n]
类型:string
如何使用
To enable this rule using the config file or in the CLI, you can use:
json
{
"plugins": ["react-perf"],
"rules": {
"react-perf/jsx-no-new-function-as-prop": "error"
}
}ts
import { defineConfig } from "oxlint";
export default defineConfig({
plugins: ["react-perf"],
rules: {
"react-perf/jsx-no-new-function-as-prop": "error",
},
});bash
oxlint --deny react-perf/jsx-no-new-function-as-prop --react-perf-plugin版本
此规则于 v0.2.3 中添加。
