【发布时间】:2019-10-18 05:42:08
【问题描述】:
我有一个名为 StyledButton 的样式化组件和一个名为 AddToCart 的 React 组件。我想将StyledButton 的样式应用到AddToCart。
我已经尝试了以下方法:
import styled from "styled-components";
import AddToCart from "./AddToCart";
import StyledButton from "./styles/StyledButton";
const StyledAddToCart = styled(AddToCart)`
${StyledButton}
`;
我想要做的已经在https://www.styled-components.com/docs/basics#styling-any-components 的文档中,但这会将新样式应用于组件。问题是我想使用样式组件中的现有样式 (StyledButton)
来自文档:
// This could be react-router-dom's Link for example
const Link = ({ className, children }) => (
<a className={className}>
{children}
</a>
);
const StyledLink = styled(Link)`
color: palevioletred;
font-weight: bold;
`;
render(
<div>
<Link>Unstyled, boring Link</Link>
<br />
<StyledLink>Styled, exciting Link</StyledLink>
</div>
);
我真的很想将StyledButton 中的样式应用到StyledAddToCart,而无需手动复制样式。
【问题讨论】:
标签: javascript reactjs styled-components