暗黑模式

正如我们在 主题 部分中提到的,NextUI 带有两个默认主题 lightdark。因此,使用 dark 主题就像将其添加到 html / bodymain 元素的 className 中一样简单。

这将为整个应用程序启用暗黑模式。然而,许多应用程序需要能够在不同主题之间切换。为此,我们建议使用主题切换库或创建自己的实现。

使用 next-themes

对于使用 Next.js 的应用程序,next-themes 库是一个极佳的选择。它包含了许多功能,可以在主题切换时增强用户体验。

有关更多信息,请参阅 next-themes 文档。

Next.js App Directory 设置

安装 next-themes

在您的项目中安装 next-themes

添加 next-themes provider

next-themes 中的 ThemeProvider 组件包装您的应用程序。

转到您的 app/providers.tsxapp/providers.jsx (如果不存在则创建它),并使用 NextUIProvidernext-themes provider 组件包装 Component。

注意:我们使用 class 属性来切换主题,这是因为 NextUI 使用 className 属性。

添加主题切换器

将主题切换器添加到您的应用程序。

注意:您可以使用任何您想要的主题名称,但请确保它存在于您的 tailwind.config.js 文件中。有关更多详细信息,请参阅 创建主题

Next.js Pages 目录设置

安装 next-themes

在您的项目中安装 next-themes

添加 next-themes provider

前往 pages 目录下的 /_app.jspages/_app.tsx 文件 (如果不存在则创建它),并使用 NextUIProvidernext-themes 提供器组件包裹 Component。

注意:我们使用 class 属性来切换主题,这是因为 NextUI 使用 className 属性。

添加主题切换器

将主题切换器添加到您的应用程序。

注意:您可以使用任何您想要的主题名称,但请确保它存在于您的 tailwind.config.js 文件中。有关更多详细信息,请参阅 创建主题

使用 use-theme Hook

如果您正在使用纯 React 并搭配 ViteCreate React App,您可以使用 @nextui-org/use-theme hook 来切换主题。

安装 @nextui-org/use-theme

在您的项目中安装 @nextui-org/use-theme

将当前主题添加到主元素

添加主题切换器

将主题切换器添加到您的应用程序。

注意:您可以使用任何您想要的主题名称,但请确保它存在于您的 tailwind.config.js 文件中。有关更多详细信息,请参阅 创建主题