props & State

장찬영·2023년 2월 3일
0

theory

목록 보기
3/4

props & State

1. Hook의 개념

Hook이란?

  • 클래스 컴포넌트에서만 사용할 수 있었던 상태 관리와 라이프 사이클 관리기능을 함수 컴포넌트에서도 사용할 수 있도록 연동해주는
    함수를 의미합니다.
Hook의 특징
  • 함수 컨포넌트에서만 사용 가능!
  • hook의 이름은 반드시 'use-'로 시작!
  • 내장 hook이 존재합니다 (리액트에서 지원! ex _ useState, useEffect 등)
  • 내장 훅이 아닌 직접 만들어 사용하는 hook은 'custom hook'이라 합니다

Hook의 사용규칙

  • hook은 함수 컴포넌트 혹은 custom hook 안에서만 호출 할 수 있습니다.
  • hook은 함수 컴포넌트 내의 최상위에서만 호출이 가능합니다.

2. Props의 개념

props란?

  • 컴포넌트의 속성값
    → 부모 컴포넌트로부터 전달받은 데이터를 지니고 있는 객체
props의 특징
  • 전달하고자 하는 어떤 값이든 자식 컴포넌트에 전달이 가능합니다
    → 문자, 숫자, 변수, 함수 등
  • 부모 컴포넌트에선 tag에 속성을 주입하듯 자식 컴포넌트에 전달하고자 하는 데이터를 추가할 수 있습니다.


 ▲'Props'을 활용하여 부모컴포넌트에서 사용한 변수를 자식컴포넌트에서 사용할 수 있는 예시

3. State의 개념

State란?

  • 컴포넌트 내부에서 가지고 있는 컴포넌트의 상태값!
    → 해당 컴포넌트가 UI에 보여줄 정보를 결정할 때 사용할 수 있는 상태값
  • 컴포넌트 내에서 정의하고 사용하며 얼마든지 변경할 수 있다.
  • state가 변하면 페이지가 리렌더링이 진행된다.

4. useState hook

 ▲'useState를 사용하여 [변수, set변수]를 선언, useState를 해당 컴포넌트에서 사용할 수 있는 예시 


let [Color,setColor] = useState("red") => Color의 기본 값을 "red"로 부여하고 변경이 필요할 때 setColor("변경색")을 활용한다.

useState를 사용하여 setColor("색상") 변경사항을 입력하면 Color="색상"을 입력했을때에 반해 화면을 리렌더링을 하게된다.
즉, useState을 사용하여 변경해야 리렌더링을 통해 화면에 변경사항을 구현할 수 있다.

5. props, State를 함께 활용한 이벤트

▲ 위처럼 부모 컴포넌트에서 자식 컴포넌트로 props와 state을 넘겨줄 수 있지만 반대로, 자식 컴포넌트에서 부모 컴포넌트로 넘겨줄 순 없습니다.
profile
병아리 개발자!

0개의 댓글