【问题标题】:Can I mix a type and a value in PropTypes oneOf?我可以在 PropTypes oneOf 中混合类型和值吗?
【发布时间】:2019-06-14 21:26:35
【问题描述】:

是否可以使用PropTypes.oneOf 来强制存在特定类型或字符串文字?

例子:

display: PropTypes.oneOf([PropTypes.bool, 'autohide']),

或者它只是将 PropTypes.bool 视为它返回的任何文字值?在官方文档中找不到对此的任何引用,所以我假设它不像我期望的那样工作。不过,它不会引发错误。

【问题讨论】:

标签: reactjs react-proptypes


【解决方案1】:

您可以像这样将oneOf() 嵌套到oneOfType()

PropTypes.oneOfType([
    PropTypes.bool,
    PropTypes.oneOf(['autohide'])
])

【讨论】:

【解决方案2】:

是的,这是可能的,但不是直接的。其实你可以通过这种方式拥有不同的PropTypes

display: PropTypes.oneOf([
  true,
  false,
  'autohide'
]),

您知道PropTypes.bool 将是truefalse。有关验证的高级用法,请参阅此处的 CustomValidation:customArrayProp

参考:Typechecking With PropTypes – React

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-28
  • 1970-01-01
  • 2020-11-25
  • 1970-01-01
  • 1970-01-01
  • 2019-09-19
相关资源
最近更新 更多