IMDb克隆 第5部分 建立标头 模板5 添加darkMode 3/5 实现React-icon 以切换到暗黑模式

内容简介

目录

 

我們將新增功能,允許切換至夜間模式。以下的GIF動畫展示了切換過程。

bbbbbb.gif

开发环境

操作系统:Windows10
集成开发环境:VSCode

“@next/font”: “13.1.5”,
“autoprefixer”: “10.4.14”,
“eslint”: “8.39.0”,
“eslint-config-next”: “13.3.1”,
“next”: “13.3.1”,
“postcss”: “8.4.23”,
“react”: “18.2.0”,
“react-dom”: “18.2.0”,
“react-icons”: “^4.8.0”,
“tailwindcss”: “3.3.2”

“@next/font”: “13.1.5”,
“autoprefixer”: “10.4.14”,
“eslint”: “8.39.0”,
“eslint-config-next”: “13.3.1”,
“next”: “13.3.1”,
“postcss”: “8.4.23”,
“react”: “18.2.0”,
“react-dom”: “18.2.0”,
“react-icons”: “^4.8.0”,
“tailwindcss”: “3.3.2”

实施要点

当从DarkMode切换到LightMode时的处理流程

image.png

代码部分

深色模式开关

"use client";
import React from 'react'
import {MdLightMode} from "react-icons/md";
import {BsFillMoonFill} from "react-icons/bs"
import {useTheme} from "next-themes";


export default function DarkModeSwitch() {
    const{theme,setTheme} = useTheme();
    const currentTheme = theme;
    return (
    <>  
        { currentTheme === "dark" ? <MdLightMode onClick={() => setTheme("light")}/> :
        <BsFillMoonFill onClick={() => setTheme("dark")}/>}
    </>
  )
}

请参考

下一个主题

 

aaaaaaa.PNG
image.png

其他

优达学城

 

提交到 GitHub 的代码变更。

 

广告
将在 10 秒后关闭
bannerAds