1

我正在使用代码this.props.params.key从 url 读取参数,参数名称是key.来自 ESlint 我得到的。

[eslint] 道具验证中缺少“参数”(反应/道具类型)

如何解决此警告?如何验证道具中的参数?

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

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

对于参数?

谢谢你的帮助

编辑:参数中的键是 MD5 哈希。

4

2 回答 2

1

您可以为参数定义对象“形状”:

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
}
于 2018-01-17T15:08:42.237 回答
0
CLASSNAME.propTypes = {
    param: PropTypes.object.isRequired,
}

这应该解决警告

于 2018-01-17T15:08:23.750 回答