这是我的个人网站和博客。在这里,我主要分享与技术和生活相关的内容。欢迎阅读!
实现暗色模式时,通常会使用ThemeProvider和useTheme hook来管理主题,并将主题偏好存储在localStorage中。但是,这种方法可能会导致主题闪烁问题,即页面刷新时,会先显示默认主题,然后快速切换到用户之前选定的主题。解决这个问题的方法包括使用inline script在页面渲染之前设置主题class,以及使用CSS选择器读取主题class来决定显示哪个图标。通过这些方法,可以避免主题闪烁问题,实现更好的用户体验。