[React] React Lifecycle 제어_useEffect

Chaewon Yoon (Jamie)·2022년 12월 19일
0
post-thumbnail

React의 생명주기를 제어하고 관리하는 방법

Lifecycle?


어떤 프로그램이 실행되고 종료되는 과정을 나타내기 위해서도 사용

React의 Lifecycle



Mount => Update => UnMount


React Component의 Lifecycle을 제어하는 방법

React는 기본적으로 Lifecycle마다 실행할 수 있는 메서드를 가지고 있음(but 클래스형 컴포넌트에서만 사용 가능! state도 마찬가지!)
1. componentDidMount
2. componentDidUpdate
3. componentWillUnmount

=> 함수형 컴포넌트에서는 어떻게 사용할까?
Hook을 사용하면 됨! (use-)
(클래스형 컴포넌트가 갖고 있는 기능을 낚아채서 사용하는 것)

useEffect: React의 lifecycle을 제어하는 클래스형 컴포넌트 기능들을 가져오는 훅

! 함수형 컴포넌트를 사용하는 이유

중복 코드를 많이 써야 하는 게 가장 큰 단점
=> 최신 프로젝트에서는 함수형 컴포넌트를 권장하고 많이 사용함

useEffect


dependency array를 잘 활용하면 감지하고 싶은 값만 감지해서 그 값이 변화하는 순간에만 콜백함수를 수행하게 할 수 있음

  • mount, update 예제
    (Lifecycle.js)


  • [Unmount]예제
    (Lifecycle.js)

    On/Off 버튼을 누르면 "Unmount Testing Component"가 나왔다 사라졌다 함
    => useEffect를 적용해 컴포넌트가 언마운트되는 순간을 제어할 것
    useEffect에 전달되는 콜백함수가 함수 하나를 리턴하면 됨

//useEffect를 사용하면 mount, update, unmount, 특정 값의 변화를 추적할 수도 있는 등 Lifecycle 제어를 할 수 있음

profile
keep growing as a web developer!🧃

0개의 댓글