【发布时间】:2020-07-03 02:06:20
【问题描述】:
假设我有一个带有主题的文件:
themes.js:
import {createMuiTheme} from "@material-ui/core/styles";
export const myTheme = createMuiTheme({
palette: {
text: {
color: "#545F66",
},
},
});
并使用 App.js 文件,其中渲染看起来像这样:
return (
<MuiThemeProvider theme={myTheme}>
<CssBaseline />
<MyComponent />
</MuiThemeProvider>
);
现在我知道我可以通过 withStyles 访问主题了:
const StyledMyComponent = withStyles(theme => ({
something: {
color: theme.palette.text.color
}
}))(props => <MyComponent {...props} />);
但我想要实现的是不同的东西。 MyComponent 是一个非常大的组件,例如具有名为“react-table-1”的类 我想要的是将类颜色“react-table-1”设置为 theme.palette.text 所以是这样的:
const StyledMyComponent = withStyles(theme => ({
"react-table-1": {
color: theme.palette.text
}
}))(props => <MyComponent {...props} />);
但显然它不起作用。 有谁知道这是否可能?我怎样才能做到这一点。
我可以在 css 文件中设置“react-table-1”颜色,但我想在里面更改它 通过按钮做出反应,这就是为什么我需要这样的东西。
【问题讨论】:
标签: javascript css reactjs styles material-ui