propTypeHandler
Tries to find the prop types on react components. It looks for:
- A static property called
propTypes
on Class components - Assignment to a property called
propTypes
on Function or Class components
The prop types that are used need to be imported either from the react
or the
prop-types
NPM package.
Examples
When the propTypeHandler
is active any of these components will result in the
output below
component.tsx
import PropTypes from 'prop-types';
class MyComponent extends React.Component {
static propTypes = {
foo: PropTypes.string,
bar: PropTypes.number.isRequired,
};
render() {
return <div />;
}
}
component.tsx
import PropTypes from 'prop-types';
class MyComponent extends React.Component {
render() {
return <div />;
}
}
MyComponent.propTypes = {
foo: PropTypes.string,
bar: PropTypes.number.isRequired,
};
component.tsx
import PropTypes from 'prop-types';
const MyComponent = () => <div />;
MyComponent.propTypes = {
foo: PropTypes.string,
bar: PropTypes.number.isRequired,
};
Output
JSON
[
{
"props": {
"foo": {
"type": {
"name": "string"
},
"required": false
},
"bar": {
"type": {
"name": "number"
},
"required": true
}
}
}
]