Notice
Recent Posts
Recent Comments
Link
미국산 귤
[React] 리액트로 다크 모드 구현하기 본문
리액트로 다크 모드를 구현하는 것은 useTheme을 사용하면 돼서 생각보다 간단했다.
나는 리액트 코드를 짤 때 page와 style 코드를 분리하는데, page 코드에 다크모드 선언을 해두고 옵션만 달아주면 style 코드에서 다크 모드 on/off 스타일을 설정만 하면 돼서 간편했다.
물론 모든 줄에 옵션을 달아야 하는 게 귀찮았지만 할 만 했다.
import { useTheme } from "../contexts/ThemeContext";
const { isDarkMode } = useTheme();
isDarkMode={isDarkMode}
color: ${(props) => (props.isDarkMode ? "#fff" : "#3D3A3A")};
background-image: url(${(props) =>
props.isDarkMode ? "/images/RecBtn.svg" : "/images/lightRecBtn.svg"});
background: ${(props) =>
props.isDarkMode
? "#121212"
: "linear-gradient(0deg, rgba(255, 255, 255, 0.45) 0%, rgba(255, 255, 255, 0.45) 100%), linear-gradient(180deg, #e2d5f3 8.5%, #dcd3e8 17%, #d9d2e2 21.25%, #e8e8e8 67%, #fff 100%)"};
'React' 카테고리의 다른 글
[React] 페이지네이션 (0) | 2024.09.18 |
---|---|
[React] 페이지 전환 애니메이션 (0) | 2024.09.18 |
[React-Django 연동] 프론트-백 연동 시 쟝고 서버 실행 방법 (4) | 2024.07.14 |
[Github] 깃허브에서 특정 브랜치 React 프로젝트 다운 받아서 실행시키기 (0) | 2024.06.21 |
[React] 피그마(Figma) 디자인 리액트로 불러오는 방법 (0) | 2024.06.10 |