成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何在 React 中快速實(shí)現(xiàn)暗黑模式

開(kāi)發(fā) 前端
通過(guò)引入 Chakra UI 框架,我們會(huì)發(fā)現(xiàn)實(shí)現(xiàn)網(wǎng)站的暗黑模式變得非常的簡(jiǎn)單,我們只需要進(jìn)行相應(yīng)的配置即可。

暗黑模式已成為許多應(yīng)用程序和網(wǎng)站的最基本功能,因?yàn)樗梢詭?lái)非常好的用戶體驗(yàn)。因此在項(xiàng)目中實(shí)現(xiàn)暗模式是一項(xiàng)非常有用的技能,使用 ReactJS 和 Chakra UI 可以輕松實(shí)現(xiàn)暗模式。

接下來(lái)讓我們看看如何使用 Chakra UI 來(lái)構(gòu)建一個(gè)可以在深色和淺色之間的網(wǎng)站。

第一步

要開(kāi)始使用 Chakra UI,需要通過(guò)在終端中運(yùn)行以下命令將其安裝在項(xiàng)目中:

npm i @chakra-ui/react @emotion/react @emotion/styled framer-motion

這樣就安裝好了 Chakra UI,然后就可以開(kāi)始實(shí)現(xiàn)暗模式了。

第二步

創(chuàng)建一個(gè) Theme.js 文件,然后在其中定義主題信息。

在主題文件中引入 chakra-ui

import {extendTheme} from '@chakra-ui/react'

接下來(lái),打開(kāi)index.css?文件。

此文件是在 React 應(yīng)用程序制作過(guò)程中創(chuàng)建的。復(fù)制此文件中的信息并將其存儲(chǔ)在剪貼板中,現(xiàn)在可以將其從 index.css 中刪除。

修改 theme.js文件,它將由兩部分組成。

第一部分是配置,可以設(shè)置一些初始化信息。

第二部分是 "style:" 和 "body" 中的樣式,這些式樣是從index.css?文件中復(fù)制的信息,如下所示。

const themes= {
config:{
initialColorMode: 'light',
useSystemColorMode: true,
},
styles:{
global:{
body:{
"margin":0,
"font-family":"-apple-system,BlinkMacSystemFont,'Segoe UI'",
"-webkit-font-smoothing":"antialiased",
"-moz-osx-font-smoothing":"grayscale",
},
code:{
"font-family":"source-code-pro,Menlo,Monaco,Consolas,"
}

}
}
}

該配置由兩部分組成,兩個(gè)變量,initialColorMode,它將確定哪種模式是默認(rèn)模式。

然后第二個(gè)變量 useSystemColorMode 應(yīng)在此處設(shè)置為 true。

要在代碼的其他部分訪問(wèn)此常量,我們必須將其導(dǎo)出:

const theme = extendTheme({theme})

export default theme;

extendTheme 是 ChakraUI 的一個(gè)函數(shù)。

第三步

要啟用暗模式,只需要將 ColorModeScript? 模塊添加到 index.js 文件中。

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
<React.StrictMode>
<ChakraProvider theme={theme}>
<ColorModeScript initialColorMode={theme.config.initialColorMode} />
<App/>
</ChakraProvider>
</React.StrictMode>
);

第四步

要為深色模式添加切換開(kāi)關(guān),可以找到要放置開(kāi)關(guān)的組件,并使用 Chakra UI 提供的 useColorMode 功能使顏色模式保持不變。

const {colorMode, toggleColorMode} = useColorMode();

記得從 ChakraUI 導(dǎo)入“useColorMode”。

接下來(lái),創(chuàng)建一個(gè)按鈕并添加“切換顏色模式”功能作為 onClick 的響應(yīng)事件:

<Button notallow={toggleColorMode}>
{colorMode==='light' ? 'Dark' : 'Light'}
</Button>

通過(guò)執(zhí)行此操作,將創(chuàng)建一個(gè)切換按鈕,該按鈕根據(jù)當(dāng)前主題顯示“深色”或“淺色”,并允許用戶通過(guò)單擊按鈕在兩種模式之間切換。

圖片

在應(yīng)用程序中實(shí)現(xiàn)切換開(kāi)關(guān)后,用戶應(yīng)該能夠通過(guò)單擊按鈕在深色和淺色模式之間切換。然后,網(wǎng)站的外觀應(yīng)相應(yīng)更改。

總結(jié)

通過(guò)引入 Chakra UI 框架,我們會(huì)發(fā)現(xiàn)實(shí)現(xiàn)網(wǎng)站的暗黑模式變得非常的簡(jiǎn)單,我們只需要進(jìn)行相應(yīng)的配置即可。

責(zé)任編輯:武曉燕 來(lái)源: 程序那些事兒
相關(guān)推薦

2022-02-10 19:15:18

React監(jiān)聽(tīng)系統(tǒng)模式

2023-01-29 08:00:00

Instagram濾鏡圖片編輯

2024-12-12 08:55:25

CSS代碼模式

2014-05-07 09:20:45

Liunx快速閱讀

2021-02-26 15:10:00

前端React組件交互

2022-07-15 09:01:15

React對(duì)象編程

2013-03-13 10:17:50

混合云混合云模式構(gòu)建混合云

2021-04-09 18:01:03

前端ReactDOM

2022-11-15 18:31:37

React

2021-05-23 15:46:23

React代碼前端

2016-08-11 16:48:10

ReactjQueryJavaScript

2020-03-31 21:50:41

JavaScript前端技術(shù)

2018-05-04 09:32:32

Linux快速監(jiān)控rwho

2020-03-10 10:45:06

GIMP新畫筆Linux

2020-10-21 08:38:47

React源碼

2020-12-07 13:23:07

LibreOffice開(kāi)源

2016-08-11 08:24:39

AndroidIntentShareTestDe

2014-05-30 09:44:08

Android折紙動(dòng)畫

2025-02-05 10:02:03

Locust測(cè)試異常處理

2025-01-27 12:31:23

PythonLocustWebSocket
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 一区二区三区欧美 | 日韩一区二区三区av | 国产一区二区影院 | 91麻豆产精品久久久久久 | 久草网在线视频 | 激情国产 | 日本aⅴ中文字幕 | 久久视频精品在线 | 国产精品成人一区二区三区 | 91精品久久久久久久久中文字幕 | 亚洲免费网 | 精品国产欧美一区二区 | 欧美一级特黄aaa大片在线观看 | 成人av一区二区亚洲精 | 亚洲黄色av | 久久久久国产精品 | xxxxxx国产| 日韩中文字幕2019 | 中文字幕av亚洲精品一部二部 | 国产乱码久久久久久 | 国产在线观看网站 | 久久久久久精 | a国产视频 | 精品国产乱码久久久久久图片 | 国产日韩欧美在线 | 亚洲精品一区二区三区在线观看 | 国产综合av | 男女网站免费 | 日韩欧美在线一区 | 欧美日韩一区二区在线观看 | 爱操影视 | av一区二区三区四区 | 午夜影院在线观看 | 黑人一级黄色大片 | 欧美激情99 | 91精品免费 | 一级片在线视频 | 免费观看一级黄色录像 | 色视频www在线播放国产人成 | 国产一区不卡 | 久久这里只有精品首页 |