Привет! Сегодня покажу, как за несколько минут с помощью готовой библиотеки реализовать переключение между темной и светлой темой на сайте. Выбранная тема сохраняется в localStorage браузера и отлично работает на всех устройствах. Код данной статьи доступен в репозитории GitHub по ссылке. Вводим команду в консоль: npm i next-themes Данный пакет сильно упрощает реализацию переключения тем: он берет на себя все заботы о хранении выбранной темы и решает такие проблемы, как «вспышки» при обновлении страницы с выбранной темной темой. Если вы решите реализовывать переключение тем самостоятельно, вы поймете, о чем я. В папке app/theme создаем файл theme-provider.tsx со следующим содержимым: 'use client'; import { ThemeProvider as NextThemesProvider } from 'next-themes'; export function ThemeProvider({ children, ...props }) { return <NextThemesProvider {...props}>{children}</NextThemesProvider>; } Этот кусок кода взят из официальной документации. В папке app/components создадим файл ThemeSwit
Добавляем тёмную тему на сайт Next.js: пример простой реализации
20 июня 202520 июн 2025
17
3 мин