Как проверить параметры с помощью props в React

Я использую код this.props.params.key для чтения параметров с URL-адреса, имя параметра key. Из ESlint, которое я получаю.

[eslint] 'params' отсутствует при проверке свойств (типы реакции / свойства)

Как исправить это предупреждение? Как проверить параметры в реквизитах?

Для проверки переменной из реквизита, например this.props.size, я использую:

CLASSNAME.propTypes = {
    size: PropTypes.string.isRequired,
}

А по параметрам?

Спасибо за любую помощь

Изменить: ключ из параметров - это хеш MD5.


person nope123    schedule 17.01.2018    source источник
comment
такое params объект? Вы можете установить тип объекта в proptypes для параметров   -  person Bojan Ivanac    schedule 17.01.2018


Ответы (2)


Вы можете определить "форму" объекта для параметров:

params: PropTypes.shape({
    key: PropTypes.string.isRequired
})

Итак, ваши полные проптипы будут такими:

CLASSNAME.propTypes = {
    size: PropTypes.string.isRequired,
    params: PropTypes.shape({
        key: PropTypes.string.isRequired
    }) // add .isRequired here if "params" is required
}
person kLabz    schedule 17.01.2018

CLASSNAME.propTypes = {
    param: PropTypes.object.isRequired,
}

Это должно устранить предупреждение

person simbathesailor    schedule 17.01.2018