여기요! 따라서 당신이 나와 같고 전체 다크 모드 분위기를 좋아한다면 이를 웹 사이트에 추가하는 것을 고려해 보셨을 것입니다. 약간의 CSS와 JavaScript만 사용하면 설정하기가 매우 쉽습니다. 제가 한 방법은 다음과 같습니다.
먼저 사용자가 밝은 모드와 어두운 모드 사이를 전환하기 위해 클릭할 수 있는 버튼이나 스위치가 필요합니다. 이 예에서는 간단한 버튼을 사용했습니다(원하는 경우 아이콘을 사용할 수 있습니다):
이 버튼은 모드 전환을 위한 트리거가 될 것입니다.
다음으로 밝은 모드와 어두운 모드가 어떻게 보일지 정의해야 합니다. CSS에서 기본 스타일(라이트 모드가 됨)을 설정한 다음 이러한 스타일을 재정의하는 다크 모드 클래스를 추가합니다.
body { background-color: white; color: black; transition: background-color 0.3s, color 0.3s; } .dark-mode { background-color: #121212; color: #ffffff; }
현재 상황은 다음과 같습니다.
이제 버튼이 실제로 어떤 일을 하도록 만드는 부분이 옵니다. 이 JavaScript 비트는 버튼을 클릭할 때마다 본문의 .dark-mode 클래스를 토글합니다.
const toggleButton = document.getElementById('dark-mode-toggle'); const body = document.body; toggleButton.addEventListener('click', () => { body.classList.toggle('dark-mode'); // Save the user's preference in local storage if (body.classList.contains('dark-mode')) { localStorage.setItem('theme', 'dark'); } else { localStorage.setItem('theme', 'light'); } });
다음에 분석 내용이 있습니다.
사용자가 선호하는 모드로 사이트가 로드되도록 하려면 페이지가 로드될 때 localStorage를 확인하고 그에 따라 모드를 설정해야 합니다.
window.addEventListener('load', () => { const savedTheme = localStorage.getItem('theme'); if (savedTheme === 'dark') { body.classList.add('dark-mode'); } });
React를 사용하는 경우 프로세스는 매우 유사하지만 구성 요소 내에서 작업을 처리하게 됩니다. 방법은 다음과 같습니다.
React의 useState를 사용하여 다크 모드 상태를 관리하고 루트 요소에 적절한 클래스를 적용합니다.
import React, { useState } from 'react'; function App() { const [darkMode, setDarkMode] = useState(false); const toggleDarkMode = () => { setDarkMode(!darkMode); }; return (); } export default App;
이 예에서는:
이전과 마찬가지로 CSS에 .dark-mode 클래스를 추가하세요.
body { background-color: white; color: black; transition: background-color 0.3s, color 0.3s; } .dark-mode { background-color: #121212; color: #ffffff; }
테마 기본 설정을 유지하려면 다음과 같은 작은 조정을 추가할 수 있습니다.
import React, { useState, useEffect } from 'react'; function App() { const [darkMode, setDarkMode] = useState(() => { const savedTheme = localStorage.getItem('theme'); return savedTheme === 'dark'; }); useEffect(() => { localStorage.setItem('theme', darkMode ? 'dark' : 'light'); }, [darkMode]); return (); } export default App;
현재 상황은 다음과 같습니다.
그리고 그게 다야! 이는 지나치게 복잡하지 않고 React 앱에 다크 모드를 추가하는 더 간단한 방법입니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3