Skip to content

useEffect:状态变后做同步

manga_studio/App.tsx 的真实主题同步:

ts
useEffect(() => {
  document.documentElement.classList.toggle('dark', theme === 'dark')
}, [theme])

读成:theme 变化后,更新 HTML 根元素的 dark 类。

适合 Effect 的事情:浏览器 DOM、定时器、订阅、某些网络同步。只为了计算一个值时,通常不需要 Effect。

定时器或订阅通常要在返回函数中清理,避免组件消失后继续运行。

依赖数组 [theme] 表示什么?

答案:当 theme 变化后重新执行这个 Effect。

写给想驾驭 AI,而不只是依赖 AI 的 Vibe Coder。