【问题标题】:Is it possible do multiple proptype type checks in ReactJS是否可以在 ReactJS 中进行多个 proptype 类型检查
【发布时间】:2019-02-19 00:49:46
【问题描述】:

这是我正在尝试做的一个例子:

const Component = ({data}) => null

const arrayShouldContainTwoItems = (props, propName, componentName) => {
// custom propCheck 
}

// perform 2 checks on the same prop
Component.propTypes = {
  data: React.PropTypes.array(PropTypes.arrayOf(PropTypes.object)) && 
  arrayShouldContainTwoItems
}

我注意到它在使用 && 时验证了第二个自定义验证器,并在使用 || 时验证了第一个验证器,但不是两者兼而有之。

有没有一种方法可以使用prop-types 在 reactjs 中添加更多的验证模式?

【问题讨论】:

  • PropTypes 检查对我来说更像是类型检查而不是验证。也许您可以在组件本身内部进行验证?因为这就是本例中实际的“逻辑”所在
  • 我实际上是指类型检查。谢谢
  • 我不这么认为,你可以直接在你的自定义验证函数中检查所有内容

标签: reactjs react-proptypes


【解决方案1】:

我认为您正在寻找 oneOfType:

myProp: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),

检查它在那里被使用:https://reactjs.org/docs/typechecking-with-proptypes.html#proptypes

【讨论】:

    猜你喜欢
    • 2017-08-06
    • 2013-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-15
    • 2011-06-15
    • 2020-05-07
    • 1970-01-01
    相关资源
    最近更新 更多