在Next JS应用程序中默认启用暗模式



我在下一个JS应用程序中有isDarkMode和handleDarkMode函数

在标题组件中,我有一个切换按钮,允许用户从亮切换到暗

<ThemeContainer>
<label className="theme js-theme">
<span className="theme__icon" onClick={() => handleDarkMode()}>
<svg className="icon icon-theme-light">
<use xlinkHref="#icon-theme-light"></use>
</svg>
<svg className="icon icon-theme-dark">
<use xlinkHref="#icon-theme-dark"></use>
</svg>
</span>
</label>
</ThemeContainer>

然而,当用户第一次访问网站时,我希望默认设置暗模式按钮——有什么线索可以实现吗?

非常感谢!

您可以使用useEffect挂钩,没有依赖数组,因此它在加载页面时执行,也可以简单地使用window.onload函数,但由于您使用的是react,因此使用useEffect:更容易

import {useEffect} from "react"

useEffect(() => {
handleDarkMode();
}, []
) 

我通过在html标签上添加dark类来修复它。

<Html className="dark">

我还尝试过使用useEffect,但没有成功,因为它在加载dom之后执行回调。

最新更新