Nerd
Nerd
Nerd
전체 방문자
오늘
어제
  • 분류 전체보기 (439)
    • Today I Learned (333)
    • 주간회고 (8)
    • FrontEnd (5)
    • ErrorNote (7)
    • 자바스크립트 (24)
    • 알고리즘 (13)
    • html과 css (21)
    • 토이프로젝트 (5)
    • React-Native (1)
    • React (13)
    • node (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 자바스크립트
  • 모던 자바스크립트
  • 메타인지
  • 토이 프로젝트
  • pacakge.json
  • 리덕스 툴킷
  • Redux
  • 절차지향적 프로그래밍
  • 토이프로젝트
  • 코드숨
  • 파이썬기초
  • 주간회고
  • 값의 할당 및 재할당
  • 파이썬 기초
  • React
  • 3FS
  • npm ci
  • TIL
  • JSX
  • wil
  • 데이터 타입
  • 명령적 프로그래밍
  • ErrorNote
  • Today I Learned
  • 리액트
  • package-lcok.json
  • npm i
  • 리액트 훅
  • 선언적 프로그래밍
  • 에러노트

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Nerd

Nerd

React

React] 리액트 Hook

2021. 8. 18. 22:13

State Hook

import React, { useState } from 'react';

function Example() {
  // count 라는 새 상태 변수를 선언합니다.
  // count는 단순히 변수명이기 때문에 어떠한 변수명이어도 상관없습니다.
  const [count, setCount] = useState(0);

  return (
    <div>
      <p>You clicked {count} times</p>
      <button onClick={() => setCount(count + 1)}>
        클릭하면 1을 더합니다.
      </button>
    </div>
  );
}
//리액트 공식문서의 코드를 참고하였습니다.

위의 예제에서 UseState가 Hook입니다.

UseState는 현재의 state값과 이 값을 업데이트하는 함수를 쌍으로 제공합니다.

useState는 인자로 초기 state값을 하나 받습니다.

위의 초기값은 0을 넣어줬습니다. (useState(0))

useState는 하나의 컴포넌트 내에서 여러 개 사용할 수 있습니다.


Effect Hook

 

import React, { useState, useEffect } from 'react';

function Example() {
  const [count, setCount] = useState(0);

  // componentDidMount, componentDidUpdate와 비슷합니다
  useEffect(() => {
    // 브라우저 API를 이용해 문서의 타이틀을 업데이트합니다
    document.title = `You clicked ${count} times`;
  });

  return (
    <div>
      <p>You clicked {count} times</p>
      <button onClick={() => setCount(count + 1)}>
        Click me
      </button>
    </div>
  );
}
// 리액트 공식문서의 코드를 참고하였습니다.

useEffect를 사용하면, React는 DOM을 바꾼 뒤에 effect 함수를 실행할 것입니다.

Effects는 컴포넌트 안에 선언되어있기 때문에 props와 state에 접근할 수 있습니다.

매 렌더링 이후에 effects를 실행합니다.

useState와 마찬가지로 컴포넌트 내에서 여러 개의 effect를 사용할 수 있습니다.


사용 규칙

Hook은 두가지 규칙을 준수해야 합니다.

  1. 최상위에서만 Hook을 호출해야 합니다.
  2. React 함수 컴포넌트 내에서만 Hook을 호출해야 합니다.

'React' 카테고리의 다른 글

React] JSX란  (0) 2022.10.06
리액트 17버전 이상부터 React를 import 하지 않아도 되는 이유  (0) 2022.10.01
Redux] 리덕스 툴킷에 대해  (0) 2021.08.17
TIL] 리액트 기초복습  (0) 2021.07.06
TIL] props와 state  (0) 2021.07.04
    'React' 카테고리의 다른 글
    • React] JSX란
    • 리액트 17버전 이상부터 React를 import 하지 않아도 되는 이유
    • Redux] 리덕스 툴킷에 대해
    • TIL] 리액트 기초복습
    Nerd
    Nerd
    꾸준히 열심히 지속적으로 하겠습니다!

    티스토리툴바