Пользовательские валидаторы не работают в проп-типах
Я публикую компонент реакции в npm, и я использую prop-types для проверки свойств моего компонента. Все мои реквизиты необязательны, но если одна из них включена, другая становится обязательной. Я пытаюсь добиться этого с помощью специального валидатора (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!");
},
}