본문 바로가기
React/React Hooks

[Hooks] 2. Introduction to useState

by 닉우 2020. 8. 18.

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

댓글