如何在React中使用道具验证params

时间:2018-01-17 15:05:10

标签: reactjs react-props

我正在使用代码this.props.params.key从url读取params,param名称为key.来自我正在获取的ESlint。

  

[eslint]'params'在道具验证(反应/道具类型)中缺失

如何解决此问题?如何在道具中保护参数?

对于来自道具的验证变量,例如this.props.size我正在使用:

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

对于params?

感谢您的帮助

编辑: params的密钥是MD5哈希。

2 个答案:

答案 0 :(得分:1)

您可以定义一个对象" shape"对于params:

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

所以你的完整的proptypes将是:

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

答案 1 :(得分:0)

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

这应解决警告