[React] Hook이란 무엇인가?

2021. 6. 21. 22:03·React
반응형

react

Hook 이란?

Hook은 React 16.8에 새로 추가된 기능입니다. 
Hook은 class를 작성하지 않고도 state와 다른 React의 기능들을 사용할 수 있도록 해줍니다.

Hook은 함수 컴포넌트에서 React state와 생명주기 기능(lifecycle features)을 “연동(hook into)“할 수 있게 해주는 함수입니다.

[react reference]
Hook은 class 없이 React 기능들을 사용하는 방법을 제시
→ Hook을 통해 function component에서 state와 lifeCycle 사용 가능

Hook 사용 시 장·단점

장점(function component) 단점(class component)
계층의 변화 없이 상태 관련 로직을 재사용할 수 있음 컴포넌트 사이에서 상태 로직을 재사용하기 어려움
작은 함수의 묶음으로 컴포넌트를 나누어 사용가능 복잡한 컴포넌트들은 (사람이)이해하기 어려움
Class없이 React 기능들을 사용가능 Class은 사람과 기계를 혼동시킴

Hook의 규칙

최상위(at the Top Level)에서만 Hook을 호출해야 함

 React 함수 내에서 Hook을 호출해야 함

Hook의 특징

선택적 사용 - 일부의 component에서만 hook을 사용해도 무방

이전 버전과의 100% 호환성

요약

Hook이란 class component에서 사용하는 'state', 'lifeCycle' 을 function component에서 사용할 수 있도록 해준다. 

state는 useState()로 사용 가능,
lifeCycle는 useEffect()로 사용 가능하다.

여기서 말하는 useState(), useEffect()가 Hook이다. 
[Hook은 개인이 만들 수도 있기 때문에 종류가 다양하다.]


참고자료

https://ko.reactjs.org/docs/hooks-effect.html

 

Using the Effect Hook – React

A JavaScript library for building user interfaces

ko.reactjs.org

 

반응형
저작자표시 (새창열림)
'React' 카테고리의 다른 글
  • React에서 Router를 사용하는 이유?
  • [React] react에서 gh-page 배포하는 방법
  • [React] 클래스 컴포넌트란 무엇인가?
  • [React] React란 무엇인가? - React에 대한 개념 정리
꾸매코더
꾸매코더
웹 / 앱 개발자
  • 꾸매코더
    꾸매코딩
    꾸매코더
  • 전체
    오늘
    어제
    • 분류 전체보기 (96)
      • JavaScript (18)
        • Deep Dive (0)
      • React (5)
      • React-Native (9)
      • CSS (3)
      • TypeScript (1)
      • CS (10)
      • GitHub (4)
      • Clone Coding (15)
        • Kakaotalk [HTML + CSS] (10)
        • Momentum [JavaScript] (5)
      • Project (30)
        • Timer Project (14)
        • Netflix [React + Hooks] (12)
        • ToDoList [React-Native] (4)
      • 회고 (1)
  • 링크

    • Github
  • hELLO· Designed By정상우.v4.10.3
꾸매코더
[React] Hook이란 무엇인가?
상단으로

티스토리툴바