【问题标题】:React - Approach for changing themeReact - 改变主题的方法
【发布时间】:2021-01-08 22:07:22
【问题描述】:

我正在使用 React 库,我想添加更改主题的功能,它看起来很简单,有三个按钮(或单选按钮),当您单击其中一个按钮时,图片会改变,问题是实现和更新页面(让图像不消失)我想问一下实现,我该如何实现呢?创建一个状态并在一个状态内创建导入的名称,每个名称都存储图片本身?或者这是一个坏主意,最后我想知道如何做到这一点,以便在刷新页面时,更改主题后图片不会消失

【问题讨论】:

  • LocalStorage 可用于在页面刷新之间保持设置。
  • This article 有两个主题(暗/亮模式)的解释和简单实现,用 CSS 设置样式并保留到 LocalStorage。

标签: javascript reactjs redux state react-props


【解决方案1】:

我建议使用React Context,您可以将整个应用程序包装在ThemeProvider 中,然后任何需要对主题更改做出反应的组件都可以通过useContext 挂钩访问当前的themeName 值。这是freecode blog,关于如何使用 Context 和 CSS 模块实现您的目标。

请注意,此解决方案不会持续刷新页面,但如果有必要,可以将这 2 个解决方案结合起来。因此,当您更改主题时,localstorage 也会更新为当前主题名称。在页面加载时,您可以读取主题名称来配置Context

【讨论】:

猜你喜欢
  • 2019-03-07
  • 2012-03-26
  • 1970-01-01
  • 1970-01-01
  • 2019-09-14
  • 1970-01-01
  • 2021-02-04
  • 2019-09-13
  • 1970-01-01
相关资源
最近更新 更多