본문으로 바로가기

Effect Hook

category React 4년 전

Effect Hook

Effect Hook도 State Hook처럼 클래스형 컴포넌트에서 사용할 수 있는 메소드를 함수형 컴포넌트에서도 사용가능하게 만들어 주는데

바로 class의 생명주기 메소드들을 사용하능하게 해준다

아래에서 알아보자

사용법

import React, {useEffect} from 'react';

State와 같이 임포트를 해주어야 함수형 컴포넌트 내에서 사용이 가능하다

State Hook에서 사용했던 코드에 useEffect만 살짝 추가해보자

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

    useEffect(()=>{
        document.title = `You clicked ${count} times`;
    });

    const handleClick = (e)=>{
        if(e.target.innerText==='+') setCount(count+1);
    };

    return (
        <Fragment>
            <h1>Count</h1>
            <h2>{count}</h2>
            <button onClick={handleClick}>+</button>
        </Fragment>
    );
}

이 코드를 실행해보면 count의 변화가 감지되어 렌더링하고 난 후 페이지의 타이틀도 바뀌게 되는 것을 알 수 있다

렌더링 후에 수행되는 코드..?

우리는 이렇게 동작하는 메소드를 이미 배웠었다 바로 클래스의 생명주기 메소드 중에 componentDidMount와 정확하게 일치한다

React카테고리의 다른글

프레젠테이셔널, 컨테이너 컴포넌트 패턴  (0) 2021.02.13
불변성  (0) 2021.02.02
State Hook  (0) 2020.11.17
composition  (0) 2020.11.15
state 끌어올리기  (0) 2020.11.14