我试图在 React 组件上声明类型检查,以便组件的子组件可以是一种或多种特定类型。
我在此处遵循 React 文档并将预期的 propType 声明为类型联合数组,但似乎这不起作用。我不确定我做错了什么,但代码会导致运行时错误,例如
"Warning: Failed prop type: Invalid prop `children` supplied to `Body`."
代码:
function Body(props) {
return React.Children.count(props.children) > 0 && (
<div className="body">
{props.children}
</div>
);
}
Body.propTypes = {
children: React.PropTypes.arrayOf(
React.PropTypes.oneOfType([
React.PropTypes.instanceOf(Content),
React.PropTypes.instanceOf(Actions)
])
)
};
<Body>
<Content>...</Content>
<Actions>...</Actions>
</Body>
谢谢,乔治