본문 바로가기
_TIL

20240805. TIL

by SILTEA 2024. 8. 6.

 

 

 

오늘은 React 기본개념 test 오답노트와 SASS의 개념과 사용법을 간단하게 알아보고자 한다

 


 

✔️ SASS (Syntactically Awesome Style Sheets)

- 직역하자면, 문법적으로 멋진 스타일 시트

- 기존의 CSS의 단점을 보완하고 효율성을 높이기 위해서 만들어진 CSS 전처리기

- 중첩, 변수, 속성 재사용등 여러 가지 기능을 제공한다.

- SASS와 SCSS는 함께 언급되곤 하는데 SCSS는 SASS3 버전에서 등장해 호환성과 가독성을 한껏 높인 것이라고 보면 된다.

- SASS는 들여쓰기를 사용, SCSS는  { } (중괄호)와  ; (세미콜론)을 사용한다는 점에서 차이점을 보인다.

 

➡️ 주로 SCSS로 수업을 진행 중이므로 SCSS 기준으로 작성하겠습니다.

 

 

  • 데이터 종류와 그에 따른 사용 방법

 

➡️ 이 자료형들은 속성값으로 사용할 수 있는데, 그중 눈여겨봐야 할 종류는 List와 Map이다.

  • Lists : 일종의 배열, 속성값으로 여러 데이터들을 가질 때 내부의 데이터들을  , (쉼표) 또는     (공백)으로 구분하여, 데이터들을 소괄호( )로 묶어서 사용한다.
  • Maps : List와 비슷하지만, 내부의 데이터들이 키:값의 쌍으로 이루어져 집합의 형태를 띄고 있고 소괄호( )로 묶어서 사용한다.

 

 

✔️  변수란?

- 반복적으로 사용되는 코드를 변수에 저장해 꺼내 쓸 수 있도록  했다.

   ➡️ 변수의 이름에 속성값이 드러날 수 있도록 작성하면 속성값을 한눈에 파악이 가능하다.

   ➡️ 변수의 속성만 바꾸면 변수를 사용한 코드가 전체적으로 바뀌기 때문에 유지보수가 쉬워진다.

   ➡️ 재사용성과 가독성 ⬆️ / 스타일링의 통일성 ⬆️

 

 

  • 변수의 선언과 사용 방법
$변수이름 : 변수에 들어갈 값;
//폰트의 크기
$font-mid: 50px;
$font-sml: 30px;

//폰트의 두께
$font-bold: 900;
$font-thin: 200;

//색상 값
$color-darkgreen: rgb(22, 43, 30);

// 예시
div {
	font-size : $font-mid;
	font-weight : $font-bold;
	color : $color-darkgreen;
}

 

 

 

 

✔️  중첩이란?

- HTML의 계층방식과 동일하게 CSS 요소를 중첩하여 작성하는 것

- 요소를 중복적으로 사용하지 않고 직관적으로 보일 수 있게 작성

  ➡️ 구조화와 가독성이 높아지고 유지보수가 쉬워진다.

- 기존의 CSS는 각각의 요소를 중괄호{ }를 이용하여 구분하던 것과는 달리

   SCSS에서는 부모요소의 중괄호{ }안에 자식요소를 넣어 중복사용을 줄일 수 있다.

 

 

  • 예시

➡️ 기존 CSS 코드 : container의 자식요소로 ul이 있고, 각각의 요소를 따로따로 선택하여 속성을 부여했다

.container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 20px;
  background-color: black;
}

.container ul {
  display: flex;
  justify-content: center;
  align-items: center;
}

 

 

➡️ SCSS의 중첩을 이용한 코드 : container의 자식요소로 ul이 있고, container의  { } 안에 자식요소 ul을 작성, 속성을 부여한다 

.container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 20px;
  background-color: black;
  ul {
    display: flex;
	  justify-content: center;
	  align-items: center;
  }
}

 

 

 


💡 오답노트

 


 

A. 컴포넌트의 상태를 초기화 하기 위해 ➡️ useState

B. 사이드 이펙트를 수행하기 위해 ➡️ useEffect (정답)

C. 컴포넌트를 비동기로 렌더링하기 위해 ➡️ conponent Life Cycle / React18 이후 : Suspense

D. 컴포넌트의 스타일을 적용하기 위해 ➡️ Styled Component

 


 

 

D. 모두 올바르다.

    ➡️ useRef는 매겨변수로 모든 유형의 값을 받는다. (정답)

        initialValue: 참조 객체의 속성에 처음에 지정할 값 current이다.

        모든 유형의 값이 될 수 있으며이 인수는 초기 렌더링 후 무시된다. - React 공식 홈페이지

 


 

 

저번주 React 첫 수업을 들었을 때, 무슨 말인지 몰라 아리송할 때가 많았는데,
VOD강의를 처음부터 끝까지 2-3번 반복해서 듣다 보니
조금씩 이해가 가는 스스로가 조금 신기하게 느껴지기도 했던 한 주였었다.
(추가로 조교님들께서 push 해주신 과제와 추가 실습자료도 한몫했다.)

그 결과로 시험에서 2문제만 틀리는 쾌거를 이룬 것 같아서 조금 어깨가 으쓱해지는 하루였다.

'조금씩 성장한 나 자신 기특해!'

 

 


 

 

참고자료

 

https://ko.react.dev/learn/preserving-and-resetting-state (React 공식 홈페이지)

https://react.dev/reference/react/useRef#useref (React공식 홈페이지)

https://medium.com/@dropyourcoffee/더욱-간편해진-react-에서의-비동기-처리-suspense-사용-후기-75009572497a (Junoh Jung, Medium.com)

https://velog.io/@kbpark9898/함수형-컴포넌트에서의-초기-상태-초기화 (박기범, 벨로그)

https://velog.io/@dev_grit/React-Styled-Component의-모든-것 (그릿 Grit, 벨로그)

https://www.heropy.dev/p/Y7OrPe (HEROPY, HEROPY.DEV)

'_TIL' 카테고리의 다른 글

20240807. TIL  (3) 2024.08.08
20240806. TIL  (1) 2024.08.07
20240724. TIL  (1) 2024.07.25
20240723. TIL  (4) 2024.07.24
20240722. TIL  (5) 2024.07.23