Mar*_*ero 1 reactjs styled-components
我在 ReactJS 中的两个不同组件上使用了下面相同样式的组件。我想知道是否可以使用一种存储在另一个文件中的 mixin 并导出它们,然后在每个 ReactJS 组件上调用它们?这将避免重复代码。
// Repeated styles
const TitleInflow = styled.h1`
text-align: center;
margin-top: 70px;
padding-bottom: 50px;
`;
const Table = styled.table`
margin: 0 auto;
margin-top: 100px;
`;
const ThTable = styled.th`
padding-right: 20px;
padding-left: 20px;
padding-bottom: 10px;
`;
Run Code Online (Sandbox Code Playgroud)
解决方案 1:您可以创建一个通用文件,例如:
Common.js
const Common = `
// style you want.
padding: 5px;
color: red;
`
export default Common
Run Code Online (Sandbox Code Playgroud)
并将其添加到您的样式组件中,例如
组件.js
import Common from './common'
const TitleInflow = styled.h1`
${Common};
text-align: center;
margin-top: 70px;
padding-bottom: 50px;
`;
Run Code Online (Sandbox Code Playgroud)
解决方案 2:您可以创建一个组件并扩展它:
这里有一个要扩展的组件:
const Component = styled.p`
color: red;
fontSize: 12px;
`
Run Code Online (Sandbox Code Playgroud)
扩展样式如:
const NewComponent = styled(Component)`
// new style you want.
display: flex;
`
Run Code Online (Sandbox Code Playgroud)
如果你想用另一个 html 标签扩展样式,你可以在使用它时这样做:
<NewComponent as="h1"/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1669 次 |
| 最近记录: |