eslint: prop type 'object' is forbidden(react/forbid-prop-types)
原文地址:https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/forbid-prop-types.md
The defaults are chosen because they have obvious replacements. any
should
be replaced with, well, anything. array
and object
can
be replaced with arrayOf
and shape
,
respectively.
Forbid certain propTypes (react/forbid-prop-types)
By default this rule prevents vague prop types with more specific alternatives available (any
, array
, object
),
but any prop type can be disabled if desired. The defaults are chosen because they have obvious replacements. any
should
be replaced with, well, anything. array
and object
can
be replaced with arrayOf
shape
,
respectively.
Rule Details
This rule checks all JSX components and verifies that no forbidden propsTypes are used. This rule is off by default.
The following patterns are considered warnings:
var Component = createReactClass({ propTypes: { a: PropTypes.any, r: PropTypes.array, o: PropTypes.object }, ... }); class Component extends React.Component { ... } Component.propTypes = { a: PropTypes.any, r: PropTypes.array, o: PropTypes.object }; class Component extends React.Component { static propTypes = { a: PropTypes.any, r: PropTypes.array, o: PropTypes.object } render() { return <div />; } }
Rule Options
... "react/forbid-prop-types": [<enabled>, { "forbid": [<string>] }] ...
forbid
An array of strings, with the names of PropTypes
keys that are forbidden. The default value for this option is ['any',
'array', 'object']
.
When not to use
This rule is a formatting/documenting preference and not following it won't negatively affect the quality of your code. This rule encourages prop types that more specifically document their usage.