材质UI:在React Class组件中使用主题

杰克斯

我正在寻找类似ThemeConsumer的东西(可能不存在)。我已经使用了React组件,并且正在使用withStyles()高阶组件来注入自定义样式。文档中对此进行了很好的描述,但是我没有找到任何使用主题的示例。


我有一些包含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);

我的问题摘要:
如何在类组件中使用提供的主题

瑞安·科格斯威尔(Ryan Cogswell)

withStyles支持类似的语法makeStyles

const styles = theme => ({
   // here I can use theme provided by ThemeProvider
});
export default withStyles(styles)(SomeComponent);

这是一个简单的工作示例:

import React from "react";
import { withStyles } from "@material-ui/core/styles";
import Paper from "@material-ui/core/Paper";

const StyledPaper = withStyles(theme => ({
  root: {
    backgroundColor: theme.palette.secondary.main
  }
}))(Paper);
export default function App() {
  return (
    <StyledPaper className="App">
      <h1>Hello CodeSandbox</h1>
      <h2>Start editing to see some magic happen!</h2>
    </StyledPaper>
  );
}

使用主题编辑withStyles

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

材质UI React paper组件在嵌套网格中的显示问题

来自分类Dev

合并材质UI主题

来自分类Dev

如何使用材质UI在React中添加classList

来自分类Dev

如何在Ant设计或材质UI中使用react-hook-form

来自分类Dev

使材质UI容器组件响应

来自分类Dev

将JSON对象设置为材质UI选择组件React Hooks上的Const

来自分类Dev

如何使用带有道具和材质UI的react-hook-form

来自分类Dev

材质ui使用主题全局更新选择样式

来自分类Dev

材质ui选择组件下拉定位

来自分类Dev

材质UI组件未返回HTMLElement参考

来自分类Dev

如何对材质UI模板使用从右到左的选项?

来自分类Dev

如何在材质ui makeStyles中使用@supports CSS规则?

来自分类Dev

React Popover组件-材质用户界面

来自分类Dev

材质UI默认主题会覆盖自定义主题

来自分类Dev

在AppCompat中使用基于材质的对话框主题

来自分类Dev

材质UI-关于全局主题的多个CSS类

来自分类Dev

流星/反应-材质UI组件芯片无法识别onRequestDelete函数

来自分类Dev

如何为材质ui凸起按钮组件添加ID?

来自分类Dev

材质UI:在TablePagination中设置嵌套组件的样式

来自分类Dev

webpack无法解析子组件中的材质ui按钮

来自分类Dev

如何从材质 UI 按钮组件访问主类功能?

来自分类Dev

如何在主类中导入材质 UI 组件?

来自分类Dev

在 Material-UI List for React 中使用从 React 组件状态异步获取的 ListItem 组件

来自分类Dev

在Reagent中使用React组件

来自分类Dev

带有材质组件主题的colorAccent或colorSecondary

来自分类Dev

对齐AppBar项-材质UI和React

来自分类Dev

如何在反应样式组件中使用“材质”颜色?

来自分类Dev

使用材质UI时不会触发动画

来自分类Dev

ReactJS-使用材质UI网格间距

Related 相关文章

热门标签

归档