道具类型中的自定义验证器未按预期工作

Custom validator in prop types not working as expected

自定义验证器不适用于 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,而是handleRate。始终仔细检查您的代码!