hooks 은 react의 state machine에 연결하는 기본적인 방법이다.
코드를 더 이쁘게 해주고 더이상 class를 사용하지 않고 모든것이 함수형 프로그래밍이 되는거다.
먼저 useState에 대해 알아보자.
useState는 항상 2개의 value를 return 한다.
useState는 Array를 return 해야된다.
Array의 첫 번째 요소는 item, 두 번째 요소는 setItem이 되는거다.
예를들어서 만약 item만 사용하고 싶다면,
const [item] = useState(1) 대신에
const item = useState(1)[0] 을 사용해야된다.
incrementItem은 item의 값을 가져와서 +1을 해줄거다.
import React, { useState } from "react";
import "./styles.css";
export default function App() {
const [item, setItem] = useState(1);
const incrementItem = () => setItem(item + 1);
const decrementItem = () => setItem(item - 1);
return (
<div className="App">
<h1>Hello {item}</h1>
<h2>Start editing to see some magic happen!</h2>
<button onClick={incrementItem}>Increment</button>
<button onClick={decrementItem}>Decrement</button>
</div>
);
}
이제 위 코드를 Class Componenet로 바꿀거다.
hooks가 생기기전에는 state를 함수형 component에 사용할 수 없었다.
hooks는 return에다가 뿌려주고 그 위에 적어주기만하면 된다.
hooks으로 작성한것과 비교하면 코드 길이 차이가 크다.
100개 넘는 컴포넌트를 만든다고 하면? 차이는 엄청나다!
useState, useEffect, useContext, useReducer, useCallback, useMemo, useRef 등등 여러가지가 있다.
※ 본 포스팅은 개인 공부 기록을 목적으로 남긴 글이며 본 사실과 다른 부분이 있다면 과감하게 지적 부탁드립니다.
'React > React Hooks' 카테고리의 다른 글
[Hooks] 6. useTitle / useClick (0) | 2020.08.22 |
---|---|
[Hooks] 5. Introduction to useEffect (0) | 2020.08.22 |
[Hooks] 4. useTabs (0) | 2020.08.21 |
[Hooks] 3. useInput (0) | 2020.08.18 |
[Hooks] 1. 사용법 배우기 (0) | 2020.08.14 |
댓글