【发布时间】:2020-11-16 10:07:08
【问题描述】:
自定义验证器在 prop-types 中不起作用
我正在向 npm 发布一个 react 组件,并且我正在使用 prop-types 来验证我的组件的 props。我的道具都是可选的,但是如果启用了某个道具,则另一个道具成为必需的。我正在尝试使用自定义验证器 (https://reactjs.org/docs/typechecking-with-proptypes.html) 来实现这一点,但它没有按预期工作。
我尝试了什么
Component.propTypes = {
interactive: PropTypes.boolean,
handlRate: function (props, propName) {
if (props['interactive'] === true && typeof(props[propName]) !== 'function')
return new Error("Please provide a handleRate function!");
if (!!props[propName] && typeof(props[propName]) !== 'function')
return new Error("handleRate should be a function!");
},
}
【问题讨论】:
-
我的错,这只是一个错字。它应该是handlRate,而不是handlRate。