首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >材质UI和样式组件覆盖问题

材质UI和样式组件覆盖问题
EN

Stack Overflow用户
提问于 2020-04-12 06:36:30
回答 1查看 175关注 0票数 0

我使用Material UI的排版,它工作得很好:

代码语言:javascript
复制
 <Typography component="h1" variant="h5">
          Sign in
        </Typography>

但是,我想转移到样式化组件,所以我尝试使用以下代码:

代码语言:javascript
复制
export const Typo = styled(Typography)`
    component: h1;
    variant: h5;
`;

尽管属性是完全相同的,但这种排版不同,而且更小。我怎么才能修复它?我做错了什么?除了componentvariant之外,我还需要使用其他工具吗

我也试过了,但没有什么不同。

代码语言:javascript
复制
export const Typo = styled(Typography)`
  && {
    component: h1;
    variant: h5;
  }
`;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-12 09:14:47

您只需在样式化的正文中编写CSS:

代码语言:javascript
复制
styled(Typography)`
  /* Only CSS here */
`

你所做的就是在这里写道具,这是行不通的。你可以将这些道具传递给你的样式化组件,它将会工作得很好。

代码语言:javascript
复制
export const Typo = styled(Typography)`
    /* Write your CSS here */
`;

// Pass your props to Typo
<Typo component="h1" variant="h5" />

如果您希望将道具绑定到样式化组件,并且在呈现组件时不需要担心它们,您可以使用attrs()方法来实现:

代码语言:javascript
复制
export const Typo = styled(Typography).attrs({
  component: 'h5',
  variant: 'h1'
})`
    /* Write your CSS here */
`;

// No need to pass props anymore, they are bind to this component
<Typo />
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61164577

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档