【发布时间】:2017-03-30 18:07:48
【问题描述】:
我试图在arrayOf() 中嵌套oneOf() 的shape() 列表,但出现错误。
警告:失败的道具类型:无效道具
tabs[0]提供给[object Object],应为 [null,null] 之一。
是否可以将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,
}),
]),
),
【问题讨论】:
-
感谢您的回答!我遇到了同样的问题。