JS.REACT.REQUIRE.OPTIMIZATION

Enforce React components to have a shouldComponentUpdate method

This rule prevents you from creating React components without declaring a shouldComponentUpdate method.

Rule Details

Examples of incorrect code for this rule:

Copy
class YourComponent extends React.Component {

}
Copy
createReactClass({
});

Examples of correct code for this rule:

Copy
class YourComponent extends React.Component {
    shouldComponentUpdate () {
        return false;
    }
}
Copy
createReactClass({
    shouldComponentUpdate: function () {
        return false;
    }
});
Copy
createReactClass({
    mixins: [PureRenderMixin]
});
Copy
@reactMixin.decorate(PureRenderMixin)
createReactClass({

});

Rule Options

Copy
...
"react/require-optimization": [<enabled>, { allowDecorators: [<allowDecorator>] }]
...
  • enabled: for enabling the rule. 0=off, 1=warn, 2=error. Defaults to 0.
  • allowDecorators: optional array of decorators names to allow validation.

allowDecorators

Sets the allowed names of decorators. If the variable is present in the chain of decorators, it validates

Examples of correct code for this rule:

Copy
// ['pureRender']
@pureRender
class Hello extends React.Component {}

Example

Copy
...
"react/require-optimization": [2, {allowDecorators: ['customDecorators']}]
...

The content on this page is adapted from the ESLint User Guide. Copyright © OpenJS Foundation and other contributors, www.openjsf.org. All rights reserved. https://eslint.org/docs/rules/