您如何称呼此React Component模式?

时间:2019-08-07 09:05:52

标签: javascript reactjs styled-components

我很难找到有关此模式的一些文档。 它有名字吗?

TextBase是样式化的组件。因此我可以将其扩展如下: Text.H1 = withComponent('h1')但是我也希望传递html属性。因此,功能组件。但是,当我扩展Text组件时,道具被覆盖,导致所有组件都是h1的。

const Text = (props) => {
   const { children, testid, ...rest } = props;
   return <TextBase data-testid={testid} {...rest}>{children}</TextBase>
}
Text.defaultProps = {color: 'red'}

Text.H1 = Text
Text.H1.defaultProps = { as: 'h1'}

Text.H2 = Text
Text.H2.defaultProps = { as: 'h2'}

Text.H3 = Text
Text.H3.defaultProps = { as: 'h3'}

??

1 个答案:

答案 0 :(得分:1)

尝试使用此方法绑定函数调用,或使用箭头函数,或使用bind手动绑定函数。我相信它会起作用。参考错误就是这一切