如何使用themeprovider覆盖本地指定的材质组件样式?

时间:2021-03-08 01:35:23

标签: reactjs material-ui

我在 reactjs 中使用 materialui。 我正在从事由各种开发人员贡献的项目。我试图在整个项目中使用的所有材料组件上创建一个统一的主题。目前,在整个应用程序中,不同的组件被分配了不同的样式。例如,某个组件中的按钮是蓝色的,而另一个组件中的按钮是黄色的。我只想覆盖应用程序中本地分配的那些样式并定义一个集中的样式。例如,假设我想为所有按钮分配黄色,无论它们在哪里。可行吗?我该怎么做?以下是我的主题对象,

const theme = createMuiTheme({
        palette:{
            primary: yellow,
            secondary: blue,
        },
        shape:{
            borderRadius: 18,
        },
        typography: {
            fontFamily: `"Roboto", "Helvetica", "Arial", sans-serif`,
            fontSize: 14,
            fontWeightLight: 300,
            fontWeightRegular: 400,
            fontWeightMedium: 500
        },
        overrides: {
            MuiButton: {
                root: {
                    backgroundColor: 'yellow',
                    color: 'red',
                    background: 'grey',
                },
            },
        },
    }   
);

我遇到的问题是,在某些组件中,按钮颜色设置为主要颜色。在这种情况下,我希望颜色被我在这个主题对象中设置的任何内容覆盖。但这并没有发生。如果有人可以帮助我,我真的很感激。谢谢。

0 个答案:

没有答案