"use client" import { useTheme } from "next-themes" import { Button } from "@/components/ui/button" import { Moon, Sun } from "lucide-react" import { useEffect, useState } from "react" export function ThemeToggle() { const { theme, setTheme } = useTheme() const [mounted, setMounted] = useState(false) // 等待客户端挂载完成 useEffect(() => { setMounted(true) }, []) // 在客户端挂载完成前不渲染任何内容 if (!mounted) { return null } return ( ) }