我正在使用styled-components
包装一个组件,并将其传递给第3方组件,该组件将强制您通过类型检查传递的子代。
return React.Children.map(el.props.children, child => {
if (child && (child.type === Fragment || child.type === MenuItemInputGroup)) {
const children = this._renderChildren(child);
return React.cloneElement(child, null, children);
} else if (elementMatchesType(child, MenuItem)) {
return this._renderMenuItem(child);
} else {
return child;
}
});
使用styled-components
时,type
被覆盖,因此此if()
支票始终落到最后的else
。
是否可以将类型伪造回 wrapped 组件,而不是 wrapping styled-components组件?