我已经customTheme
使用createMuiTheme()
并在<ThemeProvider>
. 现在,我想customTheme
在函数内部使用它来制作一些自定义样式makeStyles()
。但makeStyles()
没有得到我的customTheme
. 它获取默认主题。
代码:
import React from 'react';
import { createMuiTheme, makeStyles, ThemeProvider } from '@material-ui/core';
const customTheme = createMuiTheme({
palette: {
primary: {
main: '#f0f'
},
}
});
const useStyles = makeStyles((theme) => ({
box: {
height: '100px',
width: '100px',
backgroundColor: theme.palette.primary.main
}
}));
export default function App() {
const classes = useStyles();
return (
<ThemeProvider theme={customTheme}>
<div className={classes.box}>
makeStyles
</div>
<div style={{
height: '100px',
width: '100px',
backgroundColor: customTheme.palette.primary.main
}}>
inline style
</div>
</ThemeProvider>
);
}
截图: 截图图片
从截图中可以看出,第一个<div>
具有默认的深蓝色 Material-UI 正在使用makeStyles
.
第二个<div>
具有自定义颜色,即使用内联样式。
那么,我该如何使用customTheme
in makeStyles()
?