diff --git a/CHANGELOG.md b/CHANGELOG.md index 4cdfc2d271..b1351de3f4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,11 @@ This change log adheres to standards from [Keep a CHANGELOG](http://keepachangel ## Unreleased +### Fixed +* [`jsx-handler-names`]: avoid a crash when an inline prop is not a MemberExpression ([#2803][] @willheslam) + +[#2803]: https://github.com/yannickcr/eslint-plugin-react/issues/2803 + ## [7.21.0] - 2020.09.22 ### Added diff --git a/lib/rules/jsx-handler-names.js b/lib/rules/jsx-handler-names.js index c97811994d..e813ea66ef 100644 --- a/lib/rules/jsx-handler-names.js +++ b/lib/rules/jsx-handler-names.js @@ -109,7 +109,7 @@ module.exports = { || ( !checkLocal && (isInlineHandler(node) - ? !node.value.expression.body.callee.object + ? !node.value.expression.body.callee || !node.value.expression.body.callee.object : !node.value.expression.object ) ) diff --git a/tests/lib/rules/jsx-handler-names.js b/tests/lib/rules/jsx-handler-names.js index 1c452b78c6..eb65e50389 100644 --- a/tests/lib/rules/jsx-handler-names.js +++ b/tests/lib/rules/jsx-handler-names.js @@ -70,6 +70,8 @@ ruleTester.run('jsx-handler-names', rule, { options: [{ checkInlineFunction: true }] + }, { + code: ' 42} />' }, { code: '' }, {