Мой вопрос очень прост, я хочу использовать DarkTheme Material-ui в части моего приложения. Вот пример кода:Материал-ui: darkTheme не влияет на обернутых детей
<div>
<MuiThemeProvider muiTheme={getMuiTheme(darkBaseTheme)}>
<div>
<AppBar title="I am dark" />
<MyCustomComponent label="I should be dark but I am not" />
</div>
</MuiThemeProvider>
<MuiThemeProvider muiTheme={getMuiTheme(lightBaseTheme)}>
<p>I am in the lightBaseTheme (default theme)</p>
</MuiThemeProvider>
</div>
Первая часть приложения должна быть в темной теме (это меню слева), то вторая часть в свете темы (это само приложение).
The AppBar
, который является прямым потомком MuiThemeProvider
действительно темно, однако, MyCustomComponent
и его дети (даже если они являются базовыми Материальным-компонентами пользовательского интерфейса, таких как RaisedButton), не используя темную тему.
Каков самый простой способ иметь MyCustomComponents
и все его дочерние элементы, чтобы использовать темную тему?
Привет, в моем фактическом коде я действительно поставил свои компоненты в один «div», я отредактировал вопрос. Дело в том, что 'Material-UI' внутри' MyCustomComponent' не являются тематическими, хотя они действительно должны. Возможно, я сделал какую-то ошибку, не могли бы вы представить мне очень простой пример, где он работает для вас? –
Хорошо, я думаю, что я понимаю, Material-UI действительно тематический, однако они не обеспечивают цвет фона по умолчанию. Здесь мой темный тематический «MenuItem» выглядит белым на белом фоне, и я думал, что это проблема стиля. –
Yeap, когда-нибудь вам нужно настроить свои собственные элементы (например, 'div' color/background-color), как показано в ответе. если у вас все еще есть проблемы с проверкой кода, или вы можете использовать [этот инструмент] (https://github.com/sm-react/storybook-addon-material-ui) для быстрого тестирования различных тем. –