개발_자 2024. 8. 9. 20:59

React

  • props의 개념에 대해 설명할 수 있습니다.
  • props를 통해 부모에서 자식으로 값을 내려줄 수 있습니다.
  • prop drilling에 대해 설명할 수 있습니다.
  • props의 주요 개념 중, children에 대해 설명할 수 있습니다.
  • children의 용도와 렌더링 방법에 대해 설명할 수 있습니다.
  • props의 추출 방법에 대해 알아봅니다.

props

부모 컴포넌트가 자식 컴포넌트에게 물려준 데이터 → 컴포넌트 간의 정보교환 방식(props)

반드시 위에서 아래 방향으로 흐른다. [전달 주체 : 부모]  [받는 주체 : 자식] 단방향

props는 반드시 읽기 전용으로 취급하며, 변경할 수 없습니다.

 

 

props에는 객체 형태가 들어가 있습니다.

부모 컴포넌트에서 자식 컴포넌트로 내려준 `lastName`이 key: value로 들어가 있습니다.

부모에서 자식으로 어떤 데이터를 내려줄 땐 마치 HTML속성처럼 쓰면 되고,

이 속성을 자식 컴포넌트에서 사용할 땐 props라는 객체로 활용합니다.

 

`props`이름이 중요한게 아닌 위치가 중요!

 

변수를 활용해서 텍스트를 작성할 것이기 때문에 JS문법인 {}를 씁니다.

 

응용

 

 

 

 

Children

부모 컴포넌트에서 자식 컴포넌트로 데이터를 넘겨주는 방법이

일반적인 props도 있지만, Children도 있습니다

 

Children의 용도

Layout 컴포넌트를 만들 때 주로 사용합니다.

 

 

props추출

 

 

 

 

자식 컴포넌트에서 타이틀을 받을 거라고 정의를 해놨는데 

부모 컴포넌트에서 자식 컴포넌트를 호출하고 타이틀을 안 보냈다 가정해봅니다. 

저장해보면 아무것도 나오지 않습니다.

그런 경우를 대비해 props의 기초값을 셋팅할 수 있습니다.

만약 들어오지 않은 경우라면 Default  프로퍼티로 "미제출"값이 세팅 됩니다.

타이틀을 부모 컴포넌트에서 내려주는 순간 값이 다시 변경됩니다.

 

 

→ 부모로부터 자식에게 값을 내려줄 때 props를 사용합니다.

     props를 내려갔을 때 자식 컴포넌트에서는 하나의 객체로  그 props에 담긴 모든 값들을 받습니다. (children도 포함)

     `props.`을 여러번 사용하기보다 구조 분해 할당으로 props를 찢어 변수로 활용할 수 있습니다..

     이 변수가 만약 부모 컴포넌트로 부터 세팅이 안 되어 있을 경우 Default Argument를 이용해 방지할 수 있습니다.