Theme
디자인 시스템의 근간을 마련하는데 활용. 잘 정의하면 다크 모드 등에 대응하기 쉬움. 눈에 보이는 단편적인 정보를 넘어서, “의미”에 집중할 수 있게 됨.
// Set Default Theme
const defaultTheme = {
colors: {
background: '#FFF',
text: '#000',
primary: '#F00',
secondary: '#00F',
},
};
export default defaultTheme;
// Theme Type Define
import defaultTheme from "./defaultTheme";
type Theme = typeof defaultTheme
export default Theme;
`typeof를 이용하여 type을 추출`
// Set Dark Theme
import Theme from "./Theme";
const darkTheme : Theme = {
colors: {
background: '#FFF',
text: '#000',
primary: '#F00',
secondary: '#00F',
},
};
export default darkTheme;
타입을 정의하고 defaultTheme을 맞추는 게 불편하니, 반대로 defaultTheme에서 타입을 추출
다크 모드 적용
Jest 테스트 쪽에서 “window.matchMedia” 문제 발생.
src/setupTests.ts 파일에 공식 문서에 나온 코드를 넣으면 해결된다.
참고
Last updated