У меня есть приложение React 16, и я хочу, чтобы пользователь мог изменить тему для всего приложения (включая все маршруты), нажав кнопку.
Так, например, у меня может быть две темы в SCSS:
.theme-1 {
background-color: $bg-color-1;
color: $color-1;
}
.theme-2 {
background-color: $bg-color-2;
color: $color-2;
}
Тогда у меня будет кнопка:
<Button onClick={ this.changeTheme() }
Можно ли это сделать? В частности, я хочу выяснить эти две части:
- Как установить тему для всех компонентов, которые должны использовать различные
background-color
и color
.
- Логика функции
changeTheme()
. Как именно это могло бы вызвать повторную визуализацию на всех задействованных компонентах.
Спасибо!