В моем приложении есть только одна тема.
ReactDOM.render(
<Provider store={store}>
<ThemeProvider theme={theme}>
<App />
</ThemeProvider>
</Provider>,
root,
);
Я хочу иметь несколько тем и возможность их динамического изменения. Когда я попытался поместить свою тему в объект окна и изменить ее во время приложения, я вижу, что мои стили не изменились. Я имею в виду, у меня был следующий код
<ThemeProvider theme={window.theme}>
<App />
</ThemeProvider>
И когда я изменяю window.theme в разных файлах, например
Object.assign(window.theme, newTheme)
Мой файл компонента со стилями, такими как Component.style.js (с jss), не перерисовывался. И у меня была новая тема в моем приложении, но у компонентов были старые стили.
Должен ли я хранить свою тему в своем магазине? Это хороший способ иметь возможность изменить тему в любой части моего приложения? Не могли бы вы рассказать мне, как правильно организовать тематизацию? Заранее спасибо!