我偶然发现了一个有关版本4中的样式化组件API更新的问题:
withComponent
已弃用as
是它的替代选择但是据我所知,as
是在JSX模板级别上使用的,而withComponent
是在样式化组件声明中使用的。
在以下情况下,建议的工作流程是什么:
const BaseComponent = styled.div`
color: red;
`;
const HeadingComponent = BaseComponent.withComponent('h4');
假设我们在很多不同的地方使用{1}}。
这意味着不是使用第二个样式化的组件,而是使用<HeadingComponent />
声明一个React组件,而不是重新使用样式化的组件,而是使用React组件?
那么将<BaseComponent as="h4" />
的用法转换为使用具有withComponent
属性的基本样式的组件来创建新的React组件吗?
预先感谢
安德烈亚斯
答案 0 :(得分:2)
虽然我个人更喜欢使用as
道具来重用React组件,但将使用重构为BaseComponent.attrs({ as: 'h4' })``
可能会更容易。