처음 만난 리액트 18강 (Hook의 규칙과 Custom Hook 만들기)

신도담·2022년 9월 2일
0

Hook의 규칙
1) Hook은 무조건 최상위 레벨(react 함수 component의 최상위 레벨을 의미)에서만 호출해야 한다.

  • 반복문과 같은 것에서 hook을 호출해서는 안된다는 것임.
  • Hook은 component가 렌더링될 때마다 매번 같은 순서로 호출되어야 한다.

2) React 함수 Component에서만 Hook을 호출해야 한다.

  • 일반적인 javascript함수에서 hook을 호출하면 안된다.

cf) eslint-plugin-react-hooks : 이 것은 강제로 hook의 규칙을 지키게 만들어 줌


Custom Hook 만들기

  • 만드는 이유 :여러 component에서 반복적으로 사용되는 로직을 hook으로 만들어 재사용하기 위함
  • custom hook을 만들어야 하는 상황
    - 아래의 코드처럼 중복적으로 사용되는 경우에 사용함

    - custom hook을 추출하는 방법
    - 반드시 이름이 use로 시작하고, 내부에서 다른 Hook을 호출하는 하나의 자바스크립트 함수로 하면 됨
    - 아래의 코드처럼 작성하면 됨

    주의점 : 여러개의 component에서 하나의 custom hook을 사용할 때 component 내부에 있는 모든 State와 effects는 전부 분리되어 있어야 한다.
    -> 어떻게 전부 분리하는 가? : 각 custom hook 호출에 대해서 분리된 state를 얻게 되어서 분리가 됨.

custom hook의 호출 또한 완전히 독립적이다.
-> 그렇다면 어떻게 hook들 사이에서 데이터를 공유하는가?

위의 방식처럼 하면 데이터를 공유하게 할 수 있다.

0개의 댓글

관련 채용 정보