Javascript 这个反应组件模式叫什么?

Javascript 这个反应组件模式叫什么?,javascript,reactjs,styled-components,Javascript,Reactjs,Styled Components,我很难找到关于这种模式的文档。 它有名字吗 TextBase是一个样式化组件。因此,我可以将其扩展如下: Text.H1=withComponent'H1',但是我也希望传递html属性。因此,功能组件。但是,当我扩展文本组件时,这些道具被覆盖,导致所有组件都是h1 const Text = (props) => { const { children, testid, ...rest } = props; return <TextBase data-testid={tes

我很难找到关于这种模式的文档。 它有名字吗

TextBase是一个样式化组件。因此,我可以将其扩展如下: Text.H1=withComponent'H1',但是我也希望传递html属性。因此,功能组件。但是,当我扩展文本组件时,这些道具被覆盖,导致所有组件都是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'}

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

那么你的问题是什么,你指的是静态优先级,比如Text.H1,Text.H2?Text.H1=Text.bind这起作用了。你介意解释一下怎么做吗?现在,你没有创建文本实例,它不是指你的H1/H2/H3/h4,而是指全局定义的文本功能组件。我们需要对其进行约束,以获得所取得的结果。有道理吗?是的,谢谢。虽然我没有绑定这个,但是Text.bindText。构建模块时,这是未定义的。