【发布时间】:2020-06-24 18:23:18
【问题描述】:
我正在寻找类似 ThemeConsumer 的东西(可能不存在)。我有 React 组件,我正在使用 withStyles() 高阶组件来注入自定义样式。 documentation 中描述得很好,但我没有找到任何使用主题的示例。
我有一些包含 ThemeProvider 的基本组件。这意味着任何 MUI 组件都受到它的影响。
const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)');
const theme = getTheme(prefersDarkMode);
return (
<ThemeProvider theme={theme}>
...
</ThemeProvider>
)
我还使用makeStyles() 的一些功能组件来创建具有提供主题的样式。
const useStyles = makeStyles(theme => ({
// here I can use theme provided by ThemeProvider
});
但不能在类组件中使用。所以我使用withStyles() HOC。
const styles = {
// I would like to use here provided theme too
}
export default withStyles(styles)(SomeComponent);
我的问题总结:
如何在类组件中使用提供的主题?
【问题讨论】:
-
我在谷歌搜索“ThemeConsumer”后来到这里:)
标签: reactjs material-ui