如何将 div + useStyles 转换为 @emotion/styled 的样式?
How to convert div + useStyles to styled from @emotion/styled?
我无法将应用到 div 的 material-ui makeStyles 转换为我的自定义 div 样式,该样式是根据情感设计的。
以下代码是我要转换的代码:
const useStyles = makeStyles((theme: Theme) =>
createStyles({
root: {
display: 'flex',
flexWrap: 'wrap',
'& > *': {
margin: theme.spacing(2),
width: theme.spacing(23),
height: theme.spacing(23),
},
padding: '10px 10px',
},
}),
);
在 div 中使用,如本例所示:
<div className={classes.root}>someContent</div>
和我用样式制作的自定义 div 看起来像这样,但问题是这些选项没有应用。 (旁注:我正在使用来自@material-ui/core/styles 的 ThemeProvider 来提供主题)
const CustomDiv = styled.div<{ theme: Theme }>`
display: 'flex',
flexWrap: 'wrap',
'& > *': {
margin: ${(props) => props.theme.spacing(2)},
width: ${(props) => props.theme.spacing(23)},
height: ${(props) => props.theme.spacing(23)},
},
padding: '10px 10px',
`;
求助:)
我弄明白了(使用的语法错误),我的 customDiv 应该是这样的:
export const StyledDiv = styled.div<{ theme: Theme }>`
display: flex;
flex-wrap: wrap;
> * {
margin: ${(props) => props.theme.spacing(2)}px;
width: ${(props) => props.theme.spacing(23)}px;
height: ${(props) => props.theme.spacing(23)}px;
}
padding: 2px 10px;
`;
我无法将应用到 div 的 material-ui makeStyles 转换为我的自定义 div 样式,该样式是根据情感设计的。
以下代码是我要转换的代码:
const useStyles = makeStyles((theme: Theme) =>
createStyles({
root: {
display: 'flex',
flexWrap: 'wrap',
'& > *': {
margin: theme.spacing(2),
width: theme.spacing(23),
height: theme.spacing(23),
},
padding: '10px 10px',
},
}),
);
在 div 中使用,如本例所示:
<div className={classes.root}>someContent</div>
和我用样式制作的自定义 div 看起来像这样,但问题是这些选项没有应用。 (旁注:我正在使用来自@material-ui/core/styles 的 ThemeProvider 来提供主题)
const CustomDiv = styled.div<{ theme: Theme }>`
display: 'flex',
flexWrap: 'wrap',
'& > *': {
margin: ${(props) => props.theme.spacing(2)},
width: ${(props) => props.theme.spacing(23)},
height: ${(props) => props.theme.spacing(23)},
},
padding: '10px 10px',
`;
求助:)
我弄明白了(使用的语法错误),我的 customDiv 应该是这样的:
export const StyledDiv = styled.div<{ theme: Theme }>`
display: flex;
flex-wrap: wrap;
> * {
margin: ${(props) => props.theme.spacing(2)}px;
width: ${(props) => props.theme.spacing(23)}px;
height: ${(props) => props.theme.spacing(23)}px;
}
padding: 2px 10px;
`;