Skip to content

react/forbid-prop-types

禁止使用any,array,object

为什么

anyarrayobject不够明确,降低了代码的可维护性

建议

any应该被替换为任何东西。arrayobject可以分别替换为arrayOfshape

错误示例

tsx
import { PropTypes } from 'prop-types';

const MyComponent = ({ a }) => a;

MyComponent.propTypes = {
  a: PropTypes.any,
  r: PropTypes.array,
  o: PropTypes.object
};
import { PropTypes } from 'prop-types';

const MyComponent = ({ a }) => a;

MyComponent.propTypes = {
  a: PropTypes.any,
  r: PropTypes.array,
  o: PropTypes.object
};

正确示例

tsx
import { PropTypes } from 'prop-types';

const MyComponent = ({ a }) => a;

MyComponent.propTypes = {
  a: PropTypes.string,
  r: PropTypes.arrayOf(PropTypes.string),
  o: PropTypes.shape({})
};
import { PropTypes } from 'prop-types';

const MyComponent = ({ a }) => a;

MyComponent.propTypes = {
  a: PropTypes.string,
  r: PropTypes.arrayOf(PropTypes.string),
  o: PropTypes.shape({})
};

参考