useEffect:状态变后做同步
manga_studio/App.tsx 的真实主题同步:
ts
useEffect(() => {
document.documentElement.classList.toggle('dark', theme === 'dark')
}, [theme])读成:theme 变化后,更新 HTML 根元素的 dark 类。
适合 Effect 的事情:浏览器 DOM、定时器、订阅、某些网络同步。只为了计算一个值时,通常不需要 Effect。
定时器或订阅通常要在返回函数中清理,避免组件消失后继续运行。
依赖数组 [theme] 表示什么?
答案:当 theme 变化后重新执行这个 Effect。