diff --git a/lib/rules/no-unused-prop-types.js b/lib/rules/no-unused-prop-types.js index d4135140f2..cfaa806074 100644 --- a/lib/rules/no-unused-prop-types.js +++ b/lib/rules/no-unused-prop-types.js @@ -652,6 +652,9 @@ module.exports = { case 'ArrowFunctionExpression': case 'FunctionDeclaration': case 'FunctionExpression': + if (node.params.length === 0) { + break; + } type = 'destructuring'; properties = node.params[0].properties; if (inSetStateUpdater()) { diff --git a/tests/lib/rules/no-unused-prop-types.js b/tests/lib/rules/no-unused-prop-types.js index 5eaf90de0d..6377925b70 100644 --- a/tests/lib/rules/no-unused-prop-types.js +++ b/tests/lib/rules/no-unused-prop-types.js @@ -2440,6 +2440,17 @@ ruleTester.run('no-unused-prop-types', rule, { } `, parser: 'babel-eslint' + }, + { + code: ` + class MyComponent extends React.Component { + render() { + return
{ this.props.other }
+ } + } + MyComponent.propTypes = { other: () => {} }; + `, + parser: 'babel-eslint' } ],