Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 함수선언식
- flex-wrap
- javascript
- flex
- frontend
- 타입
- 변수
- align-content
- typeof
- 논리연산자
- 기초
- flex-direction
- 조건문
- properties
- Methods
- 비교연산자
- ELSE
- 프론트엔드
- 반복문
- for in
- 문자열
- boolean
- 화살표함수
- if else
- 속성
- justify-content
- for
- 함수표현식
- for of
- 함수
Archives
- Today
- Total
하얀 코딩
[React - 4] Hook 본문
Hook
Hook은 함수형 컴포넌트가 클래스형 컴포넌트의 기능을 사용할 수 있도록 해주는 기능이다.
1. React 16.8 버전 (2019년도) 에 추가된 공식 라이브러리
2. Class형 컴포넌트에서만 쓸 수 있었던 state와 life cycle을 Function형 컴포넌트에서도 사용 가능
3. 현재 공식문서에서는, Class형 컴포넌트보다는 Function형 컴포넌트로 새로운 React 프로젝트를 만들기를 권장
4. 단, 기존의 Class형 컴포넌트들을 Hook을 이용한 Function형 컴포넌트로 refactoring할 이유는 전혀 없음
Why do you need it?
hook을 사용해 함수형 컴포넌트에서도 state와 생명주기를 다룰 수 있기에
클래스형 컴포넌트에서만 가능하던 상태관리를 더 손쉽게 할 수 있어 필요하다.
공식홈페이지에 따르면 Hook을 만든 이유는 다음과 같다.
1. 컴포넌트 사이에서 상태 로직 재사용의 어려움 -> render props, HOC 등
2. class의 문법과 복잡한 (클래스형) 컴포넌트들은 이해하기 어려움 -> 각종 생명주기 함수들
3. reloading의 신뢰성이 떨어진다.
4. 최신 기술의 적용이 효과적이지 않다.
5. 축소가 어렵다.
이러한 클래스의 단점들을 함수형 컴포넌트로 커버할 수 있다.
하지만 클래스 컴포넌트의 장점인 state 사용이나 life cycle을 직접 다루는 등의 기능을 사용하지 못한다.
이를 해결하기 위해 Hook이 등장했다.
'React' 카테고리의 다른 글
[React - 6] useState (0) | 2023.01.02 |
---|---|
[React - 5] 조건부 렌더링 (0) | 2023.01.02 |
[React - 3] props (0) | 2022.12.30 |
[React - 2] JSX (0) | 2022.12.29 |
[React - 1] React (0) | 2022.12.29 |