Closed
Description
When I use props inside a function of a functional component. The eslint PropTypes validation fails. Which is wrong.
My eslintrc.json:
{
"settings": {
"react": {
"createClass": "createReactClass",
"pragma": "React",
"version": "16"
}
},
"parser": "babel-eslint",
"parserOptions": {
"ecmaVersion": 6,
"sourceType": "module",
"ecmaFeatures": {
"jsx": true
}
},
"extends": [
"plugin:react/recommended"
],
"plugins": [
"babel"
],
"rules": {
"react/prop-types": ["error"]
}
}
Example with bug
import React from 'react';
import PropTypes from 'prop-types';
const MyComponent = (props) => {
function render() {
return <test>{props.text}</test>;
}
return render();
};
MyComponent.propTypes = {
text: PropTypes.string.isRequired,
};
export default MyComponent;
Error messge: 6:29 error 'text' is missing in props validation react/prop-types
If I don't use a function inside my functional component. The eslint rule validates my code correctly.
Working example:
import React from 'react';
import PropTypes from 'prop-types';
const MyComponent = (props) => {
return <test>{props.text}</test>;
};
MyComponent.propTypes = {
text: PropTypes.string.isRequired,
};
export default MyComponent;