【发布时间】:2021-01-21 17:21:24
【问题描述】:
我有一个 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()函数的逻辑。它将如何触发所有受影响组件的重新渲染。
谢谢!
【问题讨论】: