Я столкнулся с подобной проблемой для OP, в частности, я хотел изменить цвет кнопки по умолчанию с серого на белый.Комментаторы вопросов верны, каждый компонент имеет свои собственные специфические стили и цвета по сравнению с глобальным цветом по умолчанию.Они должны быть переопределены через пользовательскую тему.Ниже приведен пример переопределения класса кнопки по умолчанию contained
путем создания переопределения темы для изменения цвета кнопки по умолчанию.CONTANTS
используется для определения конкретных цветов и т. Д.
import React from 'react';
import { createMuiTheme } from '@material-ui/core/styles';
import { ThemeProvider } from '@material-ui/styles';
import * as CONSTANTS from './Constants'
const theme = createMuiTheme({
palette: {
primary: {
// light: will be calculated from palette.primary.main,
main: CONSTANTS.BLUE,
// dark: will be calculated from palette.primary.main,
contrastText: CONSTANTS.CONTRAST_TEXT,
},
},
overrides:{
MuiButton:{
contained:{
color: CONSTANTS.BLUE,
backgroundColor: CONSTANTS.CONTRAST_TEXT,
'&:hover': {
backgroundColor: CONSTANTS.LIGHT_BLUE,
// Reset on touch devices, it doesn't add specificity
'@media (hover: none)': {
backgroundColor: CONSTANTS.CONTRAST_TEXT,
},
}
}
}
}
});
interface IThemeProps{
children:any;
}
export default function Theme(props: IThemeProps) {
return (
<ThemeProvider theme={theme}>
{props.children}
</ThemeProvider>
);
}
И для использования новой темы:
import React from 'react';
import Theme from './Theme';
import { Header, Home } from './Components';
const App: React.FC = () => {
return (
<Theme>
<Header>
<Home />
</Header>
</Theme>
);
}
export default App;