Пользовательский валидатор в типах опор не работает должным образом

Пользовательские валидаторы не работают в проп-типах

Я публикую компонент реакции в 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!");
    },
}

person Cyril Cabo    schedule 16.11.2020    source источник
comment
моя беда, это была просто опечатка. это должен быть handleRate, а не handlRate.   -  person Cyril Cabo    schedule 16.11.2020


Ответы (1)


После почти часа почесывания в затылке это была просто опечатка. Это должно быть не handlRate, а handleRate. Всегда дважды проверяйте свой код!

person Cyril Cabo    schedule 16.11.2020