From 67699eb79e4b0ce7c8c2b5fabcdee82cb6bbe17f Mon Sep 17 00:00:00 2001 From: Will Heslam Date: Wed, 23 Sep 2020 09:50:46 +0100 Subject: [PATCH] [Fix] `jsx-handler-names`: avoid a crash when an inline prop is not a MemberExpression Fixes #2803. Co-authored-by: Will Heslam Co-authored-by: Jordan Harband --- CHANGELOG.md | 5 +++++ lib/rules/jsx-handler-names.js | 2 +- tests/lib/rules/jsx-handler-names.js | 2 ++ 3 files changed, 8 insertions(+), 1 deletion(-) 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: '' }, {