reactjs - Material -UI React : Global theme override for Paper component

标签 reactjs material-ui

我有一个使用最新的 Material-UI 组件库构建的 React 应用程序。

我使用了 Paper 组件的许多实例。我想一次性对所有这些应用边距和填充,而无需为每个实例手动重复此过程。

我查了一下Material-UI documentation就这个主题而言,据我所知,以下代码应该正确地覆盖 Paper 的外观:

const theme = createMuiTheme({
    overrides: {
        Paper: {
            root: {
                padding: '10px',
                marginBottom: '10px',
            },
        },
    },
});

下面是覆盖样式应该应用的地方:

<ThemeProvider theme={theme}>
    {/* ... */}
    <Paper>
        Content goes here
    </Paper>
    {/* ... */}
</ThemeProvider>

但是覆盖的值没有被应用。对发生的事情有什么建议吗?

谢谢!

最佳答案

在您的 App.js 中添加(请注意 MuiPaper 而不是 Paper):

const theme = createMuiTheme({
  overrides: {
    MuiPaper: {
      root: {
        padding: '10px',
        marginBottom: '10px'
      },
    },
  }
});

在同一个 App.js 文件中,包装您的 HTML:

class App extends Component {
  render() {
    return (
      <MuiThemeProvider theme={theme}>
        <div className="App">
          <YourComponent1 />      
          <YourComponent2 />
          ...
        </div>
      </MuiThemeProvider>
    );
  }
}

这样,React 渲染的任何 Paper 组件都将拥有您的 CSS。

顺便说一句,我创建了 MUI schematics添加 Material UI 支持的模块,自动生成多个 Material UI 组件,并在 App.js 中添加通用主题规则。欢迎您看看/尝试一下...

关于reactjs - Material -UI React : Global theme override for Paper component,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53906709/

相关文章:

javascript - 列表项删除线 react

reactjs - 如何在 Typescript 中为 React useReducer Hook 操作创建类型定义?

node.js - React Native 构建警告问题?

javascript - 多行文本以适应 React JS 中的父容器

reactjs - 我如何使用我的 React 组件作为 Web 组件,只需 javascript 标签调用

reactjs - MUI v5 中 Menu 元素中的 PopoverClasses 属性

html - 为什么在material -ui-v3.2.0 "Image avatars "的例子中看不到图像

reactjs - 如何在reactjs中使用material-ui以红色显示helperText

reactjs - 如何更改 Material UI 选择边框和标签

reactjs - Material-ui BottomNavigation 未填充宽度