feat(theme): App 初始化时设置 data-theme 属性,首次渲染即为主题
This commit is contained in:
@@ -2,14 +2,20 @@ import { useEffect } from 'react'
|
|||||||
import { RouterProvider } from 'react-router-dom'
|
import { RouterProvider } from 'react-router-dom'
|
||||||
import { router } from './router'
|
import { router } from './router'
|
||||||
import { useAuthStore } from './stores/auth'
|
import { useAuthStore } from './stores/auth'
|
||||||
|
import { useThemeStore } from './stores/theme'
|
||||||
import './styles/global.css'
|
import './styles/global.css'
|
||||||
|
|
||||||
export default function App() {
|
export default function App() {
|
||||||
const loadFromStorage = useAuthStore(s => s.loadFromStorage)
|
const loadFromStorage = useAuthStore(s => s.loadFromStorage)
|
||||||
|
const theme = useThemeStore(s => s.theme)
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
loadFromStorage()
|
loadFromStorage()
|
||||||
}, [loadFromStorage])
|
}, [loadFromStorage])
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
document.documentElement.setAttribute('data-theme', theme)
|
||||||
|
}, [theme])
|
||||||
|
|
||||||
return <RouterProvider router={router} />
|
return <RouterProvider router={router} />
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user