React #17

날림·2021년 10월 27일
0

React

목록 보기
17/18

구조적인 CSS 작성 방법

갈수록 복잡해지는 CSS

갈수록 복잡해지는 CSS, 구조적인 CSS가 필요하다!

CSS 전처리기 (CSS Preprocessor)

CSS 전처리기

  • CSS에 프로그래밍 개념(변수, 함수, 상속 등)을 도입하여 CSS가 구조적으로 작성될 수 있게 도움을 주는 도구
  • CSS 전처리기에 맞는 컴파일러를 사용하여 실제 CSS 파일로 변환할 수 있다
  • 종류: Sass/SCSS, less, Stylus, PostCSS 등

CSS 전처리기가 CSS를 구조화 해주었지만...

  • 내부에서 어떤 작업을 하는지는 알지 못한 채,
    스타일이 겹치는 문제를 해결하기 위해 단순히 계층 구조를 만들어 내는 것에 의지
    = 컴파일된 CSS의 용량이 어마어마하게 커짐

CSS 방법론

CSS 방법론

코드의 재사용
코드의 간결화(유지보수 용이)
코드의 확장성
코드의 예측성(클래스 명으로 의미 예측)

  • 종류: BEM, OOCSS, SMACSS 등등

ex) BEM = 클래스 이름을 Block, Element, Modifier로 구분하여 작성하는 방법

BEM

  • BEM 방식의 이름을 여러 번 재사용할 수 있게 된다
  • HTML/CSS/SASS 파일에서도 더 일관된 코딩 구조가 만들어진다

하지만...

  • 클래스명 선택자가 장황해짐
  • 긴 클래스명 때문에 마크업이 불필요하게 커짐
  • 재사용마다 모든 UI 컴포넌트를 명시적으로 확장

CSS-in-JS

CSS를 컴포넌트처럼 만들자!

Styled-Component: 대표적인 CSS-in-JS
기능적(Functional) 혹은 상태를 가진 컴포넌트들로부터 UI를 완전 분리해 사용할 수 있는 아주 단순한 패턴을 제공

더 자세한 내용은 다음 포스트


Overview

Overview


Reference
codestates - [React] 컴포넌트 디자인

profile
항상배우기

0개의 댓글

관련 채용 정보