关于reactjs:我可以在PropTypes oneOf中混合类型和值吗?

Can I mix a type and a value in PropTypes oneOf?

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

例:

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

还是只是将PropTypes.bool视为返回的任何文字值? 在官方文档中找不到对此的任何引用,因此我假设它不起作用,因为我希望它能起作用。 不过,它不会引发错误。


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

1
2
3
4
PropTypes.oneOfType([
    PropTypes.bool,
    PropTypes.oneOf(['autohide'])
])


是的,可以,但不能直接。 实际上,您可以通过以下方式使用不同的PropTypes

1
2
3
4
5
display: PropTypes.oneOf([
  true,
  false,
  'autohide'
]),

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

参考:使用PropTypes进行类型检查– React