无法修复 React 黑暗模式闪烁
Can't Fix React Dark Mode Flashing
在我的 React 应用程序中实现暗模式时,我遇到了一个令人沮丧的问题。
应用程序从 localStorage
读取并应用用户喜欢的主题(这一切都由 use-dark-mode
完成)。
不幸的是,每次用户打开页面时,默认主题都会在启用深色模式之前闪烁。
现在,我浏览了互联网并发现,只需在 <body>
之后的 <script>
标记中放置特定代码(如 here 所示)即可解决问题.
问题是,似乎没有什么可以解决这个令人不快的闪现问题,而且它在所有浏览器中都会出现。我试过将脚本移动到 <head>
标签内,甚至 运行 和 window.onload
,但似乎没有任何效果。
有人遇到过这样的问题吗?修复此闪光灯的最佳方法是什么?
非常感谢!
这里是 link 到 GitHub repository。
注意:我没有使用任何服务器端渲染。
事实证明,修复非常简单。
在您的 index.html
中,在 <head>
标签内添加一些样式。
<style type="text/css">
body.light-mode {
background-color: #F9FAFC;
}
body.dark-mode {
background-color: #1A1A1A;
}
</style>
在我的 React 应用程序中实现暗模式时,我遇到了一个令人沮丧的问题。
应用程序从 localStorage
读取并应用用户喜欢的主题(这一切都由 use-dark-mode
完成)。
不幸的是,每次用户打开页面时,默认主题都会在启用深色模式之前闪烁。
现在,我浏览了互联网并发现,只需在 <body>
之后的 <script>
标记中放置特定代码(如 here 所示)即可解决问题.
问题是,似乎没有什么可以解决这个令人不快的闪现问题,而且它在所有浏览器中都会出现。我试过将脚本移动到 <head>
标签内,甚至 运行 和 window.onload
,但似乎没有任何效果。
有人遇到过这样的问题吗?修复此闪光灯的最佳方法是什么? 非常感谢!
这里是 link 到 GitHub repository。 注意:我没有使用任何服务器端渲染。
事实证明,修复非常简单。
在您的 index.html
中,在 <head>
标签内添加一些样式。
<style type="text/css">
body.light-mode {
background-color: #F9FAFC;
}
body.dark-mode {
background-color: #1A1A1A;
}
</style>