react/jsx-handler-names 风格
它的作用
确保用于处理事件的组件或属性方法均正确地添加了前缀。
为什么这是个问题?
事件处理器和属性的命名不一致会降低代码的可读性和可维护性。
示例
此规则的错误代码示例:
jsx
<MyComponent handleChange={this.handleChange} />
<MyComponent onChange={this.componentChanged} />此规则的正确代码示例:
jsx
<MyComponent onChange={this.handleChange} />
<MyComponent onChange={this.props.onFoo} />配置
该规则接受一个配置对象,包含以下属性:
checkInlineFunctions
type: boolean
default: false
是否检查 JSX 属性中的内联函数。
checkLocalVariables
type: boolean
default: false
是否检查 JSX 属性中的局部变量。
eventHandlerPrefixes
type: string
default: "handle"
需要检查的事件处理器前缀。
eventHandlerPropPrefixes
type: string
default: "on"
需要检查的事件处理器属性前缀。
eventHandlerPropRegex
type: string
用于事件处理器属性前缀的编译后正则表达式。
eventHandlerRegex
type: string
用于事件处理器前缀的编译后正则表达式。
ignoreComponentNames
type: string[]
default: []
在检查事件处理器前缀时忽略的组件名称。
如何使用
要通过配置文件或 CLI 启用此规则,可以使用:
json
{
"plugins": ["react"],
"rules": {
"react/jsx-handler-names": "error"
}
}bash
oxlint --deny react/jsx-handler-names --react-plugin