前言 在 Next.js 中要实现暗黑模式,需要用到一个库:next-themes,它可以帮助我们很轻易地实现暗黑模式切换。 具体步骤 1、 安装 next-themes 依赖: pnpm add next-themes 2、 新增 /components/ThemeProvider/index.tsx 文件: 'use client '; import { ThemeProvider as NextThemesProvider } from 'next-themes'; import * as React from 'react' index.tsx 主题切换组件: 'use client'; import { Moon, Sun } from 'lucide-react'; import { useTheme } from 'next-themes 如果你想加入过渡动画,可以把代码改成这样: 'use client'; import { Moon, Sun } from 'lucide-react'; import { useTheme } from 'next-themes
# 切换到web目录,首先添加next-theme包 pnpm install next-themes -S # 然后添加shadcn/ui 的 dropdown-menu pnpm dlx shadcn-ui from 'react'; import { MoonIcon, SunIcon } from '@radix-ui/react-icons'; import { useTheme } from 'next-themes use client'; import * as React from 'react'; import { ThemeProvider as NextThemesProvider } from 'next-themes '; import { type ThemeProviderProps } from 'next-themes/dist/types'; export function ThemeProvider({ '; import { type ThemeProviderProps } from 'next-themes/dist/types'; export function ThemeProvider({
暗色模式 (Dark Mode)shadcn/ui 基于 next-themes 提供了开箱即用的暗色模式支持。 pnpm install next-themes
•支持 cmdk 命令面板、next-themes、lucide-react 图标。
import Button from "@/components/Button"; import { useEffect } from "react"; import { useTheme } from 'next-themes
功能实现 当你需要开发新功能时: 你: 给 DevPulse 添加暗色模式切换功能: - 在 @src/components/Header.tsx 的导航栏右侧添加切换按钮 - 使用 next-themes