const propTypes = {
prop1: PropTypes.string,
prop2: PropTypes.string,
prop3: PropTypes.number,
};
const something = (props) => ((props.props2 > 0 & props.prop1 === props.props3) ?
t('translation/abc')
: t('translation/def'));
为什么组件会为所有三个道具PropType is defined but prop is never used
抛出lint错误prop1, prop2, prop3
?
答案 0 :(得分:2)
这应解决您的问题,让我们解构您的道具,然后将propTypes分配给您的无状态组件。
const something = ({prop1, prop2, prop3}) => ((props2 > 0 & prop1 === props3)
? t('translation/abc')
: t('translation/def'));
something.propTypes = {
prop1: PropTypes.string,
prop2: PropTypes.string,
prop3: PropTypes.number,
};
答案 1 :(得分:0)
您永远不会为您的函数指定propTypes常量,因此不会对道具进行验证。
如果你这样做
something.propTypes = propTypes;
linter应该接受你的代码。