【问题标题】:How to validate params using props in React如何在 React 中使用 props 验证参数
【发布时间】:2018-01-17 15:05:10
【问题描述】:

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

[eslint] 'params' 在 props 验证中缺失(react/prop-types)

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

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

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

对于参数呢?

感谢您的帮助

编辑: 来自 params 的键是 MD5 哈希。

【问题讨论】:

  • 参数是对象吗?您可以在参数的proptypes中设置类型对象

标签: reactjs react-props


【解决方案1】:

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

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
}

【讨论】:

    【解决方案2】:
    CLASSNAME.propTypes = {
        param: PropTypes.object.isRequired,
    }
    

    这应该可以解决警告

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-15
      • 2020-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-10
      • 2014-08-13
      • 1970-01-01
      相关资源
      最近更新 更多