Skip to content

Commit af68f88

Browse files
committed
Fix require-default-props error message for quoted props (fixes #1161)
1 parent f7fb96b commit af68f88

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

lib/rules/require-default-props.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ module.exports = {
142142

143143
return props.map(function(property) {
144144
return {
145-
name: property.key.name,
145+
name: property.key.name || property.key.value,
146146
isRequired: isRequiredPropType(property.value),
147147
node: property
148148
};

tests/lib/rules/require-default-props.js

+18
Original file line numberDiff line numberDiff line change
@@ -1805,6 +1805,24 @@ ruleTester.run('require-default-props', rule, {
18051805
errors: [{
18061806
message: 'propType "name" is not required, but has no corresponding defaultProp declaration.'
18071807
}]
1808+
},
1809+
{
1810+
code: [
1811+
'class Hello extends React.Component {',
1812+
' static get propTypes() {',
1813+
' return {',
1814+
' \'first-name\': PropTypes.string',
1815+
' };',
1816+
' }',
1817+
' render() {',
1818+
' return <div>Hello {this.props[\'first-name\']}</div>;',
1819+
' }',
1820+
'}'
1821+
].join('\n'),
1822+
parser: 'babel-eslint',
1823+
errors: [{
1824+
message: 'propType "first-name" is not required, but has no corresponding defaultProp declaration.'
1825+
}]
18081826
}
18091827
]
18101828
});

0 commit comments

Comments
 (0)