필요한 UI를 컴포넌트로 만들어서 정해진 규칙 안에서 UI를 작성한다면 명령형일 때 보다 더 수월하게 작성할 수 있고, 코드 규모가 커져도 파악하기 쉬워진다.
React 같은 프레임워크를 사용해서 개발하는 것도 시스템 내부 로직은 크게 신경쓰지 않고 프레임워크 규칙 안에서 UI를 선언형으로 개발하는 것이다.
dom property와 css variables를 활용하여 설정된 dom property에 따라 설정된 css variables를 사용한다.
body {
--color: #000000;
--background-color: #ffffff;
}
body[data-theme="dark"] {
--color: #ffffff;
--background-color: #000000;
}
body {
color: var(--color);
background-color: var(--background-color);
}
더 좋은 UX : 시스템 preference기반, localStorage를 활용하여 초기값을 설정한다.