我可以在PropTypes oneOf中混合类型和值吗?

Yon*_*rod -1 reactjs react-proptypes

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

例:

display: PropTypes.oneOf([PropTypes.bool, 'autohide']),
Run Code Online (Sandbox Code Playgroud)

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

sky*_*yer 8

您可以嵌套oneOf()oneOfType()这样

PropTypes.oneOfType([
    PropTypes.bool,
    PropTypes.oneOf(['autohide'])
])
Run Code Online (Sandbox Code Playgroud)


Pra*_*man 1

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

\n\n
display: PropTypes.oneOf([\n  true,\n  false,\n  \'autohide\'\n]),\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n

参考:使用 PropTypes \xe2\x80\x93 React 进行类型检查

\n