diff --git a/lib/rules/require-optimization.js b/lib/rules/require-optimization.js index 329354581d..40fe28e403 100644 --- a/lib/rules/require-optimization.js +++ b/lib/rules/require-optimization.js @@ -166,6 +166,10 @@ module.exports = { return { ArrowFunctionExpression(node) { + // Skip if the function is declared in the class + if (isFunctionInClass()) { + return; + } // Stateless Functional Components cannot be optimized (yet) markSCUAsDeclared(node); }, diff --git a/tests/lib/rules/require-optimization.js b/tests/lib/rules/require-optimization.js index ea5da36295..01e9ca0bc8 100644 --- a/tests/lib/rules/require-optimization.js +++ b/tests/lib/rules/require-optimization.js @@ -118,6 +118,23 @@ ruleTester.run('react-require-optimization', rule, { code: ` const obj = { prop: [,,,,,] } ` + }, { + code: ` + import React from "react"; + class YourComponent extends React.Component { + handleClick = () => {} + shouldComponentUpdate(){ + return true; + } + render() { + return