jsx-eslint/eslint-plugin-react

[jsx-handler-names] Option to enforce only for class methods

Aperta

#358 aperta il 11 dic 2015

 (6 commenti) (5 reazioni) (0 assegnatari)JavaScript (2731 fork)batch import
enhancementhelp wantedrule

Metriche repository

Star
 (9293 stelle)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

This is a useful rule, but it can sometimes get annoying when I want to use a prop or a method from a library directly as a handler. I think the real benefit to the rule is to force me to name my component's methods appropriately, but as it currently works, I sometimes need to do silly things like const handleSelect = props.entities.toggleItem;.

I would really like an option which prevents:

<MyComponent onChange={this.doSomething} />

// or in a stateless component:

<MyComponent onChange={doSomething} />

but still allows:

<MyComponent onChange={library.doSomething} />

<MyComponent onChange={this.props.doSomething} />

// or in a stateless component:

<MyComponent onChange={props.doSomething} />

Does that make any sense?

Guida contributor