我试图在 oneOf()
中嵌套 shape()
一个 arrayOf()
的列表,但我收到一个错误。
是否可以将 oneOf()
传递给 shape()
的列表?
tabs: React.PropTypes.arrayOf(
React.PropTypes.oneOf([
React.PropTypes.shape({
id: React.PropTypes.string.isRequired,
content: React.PropTypes.node.isRequired,
}),
React.PropTypes.shape({
id: React.PropTypes.string.isRequired,
params: React.PropTypes.object.isRequired,
}),
]),
),
更新!找到了一个 answer here ,看起来我应该改用 OneofType 。
tabs: React.PropTypes.arrayOf(
React.PropTypes.oneOfType([
React.PropTypes.shape({
id: React.PropTypes.string.isRequired,
content: React.PropTypes.node.isRequired,
}),
React.PropTypes.shape({
id: React.PropTypes.string.isRequired,
params: React.PropTypes.object.isRequired,
}),
]),
),
最佳答案
我决定发布我对问题的更新作为答案。
我找到了答案 here 。我应该改用 OneofType。
tabs: React.PropTypes.arrayOf(
React.PropTypes.oneOfType([
React.PropTypes.shape({
id: React.PropTypes.string.isRequired,
content: React.PropTypes.node.isRequired,
}),
React.PropTypes.shape({
id: React.PropTypes.string.isRequired,
params: React.PropTypes.object.isRequired,
}),
]),
),
关于reactjs - React PropTypes arrayOf oneOf 形状 A 或形状 B,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43125319/