반응형
카엔입니다
카엔
카엔입니다
전체 방문자
오늘
어제
  • 분류 전체보기 (98)
    • 프론트엔드 (74)
      • JavaScript (22)
      • CSS (2)
      • React (21)
      • Next.js (12)
      • 블록체인 (2)
    • 에러 모음 (11)
    • Git (5)
    • 백엔드 (1)
      • GraphQL (1)
    • AWS (2)
    • CS (1)
    • 코딩테스트 (1)
    • 개발 이야기 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 자릿수 채우기
  • 이벤트루프
  • 자바스크립트 이진수 변환
  • ec2
  • nextron ipc
  • nextron
  • git 덮어쓰기
  • Cloudfront
  • ipc 통신
  • git
  • error
  • Next.js
  • 구글 스프레드시트 API
  • 웹상동작과정
  • unoptimized error
  • useMemo
  • 모바일 파란 박스
  • ChatGPT
  • useCallback
  • DOUBLE CHECK CONFIGURATION Please double check that you have setup a PAID OpenAI API Account. You can read more here: https://docs.agpt.co/setup/#getting-an-api-key

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
카엔입니다

카엔

프론트엔드/React

리액트 생명주기란 뭘까

2023. 2. 18. 05:40

라이프사이클


컴포넌트는 생성(mounting) ⇒ 업데이트(updateing) ⇒ 제거(unmounting)의 라이프사이클을 가집니다

실제로 사용할때는 두가지 방향으로 나뉩니다

  • Class Component
  • Function Component

Function Component

함수형 컴포넌트에서 라이프사이클을 흉내낼수 있게 해주는 함수

함수 단위로 나눌 수 있다는 이점이 존재하는데 이때 관련 없는 로직이 섞여들어가면서 버그가 발생할 수 있다

useEffect(() => {}); // 렌더링 된 이후 동작, 리렌더링 후 다시 동작
useEffect(() => {}, []); // 렌더링 된 이후 한번만 동작
useEffect(() => {}, [dep1, dep2]); // 렌더링 된 이후 동작, 의존성이 변경되었을 경우 동

각 과정에 대한 예시를 포함해서 설명

마운팅(Mounting)

컴포넌트가 DOM에 삽입되는 과정
클래스 컴포넌트에선 componentDidMount에 해당

useEffect(() => {
    // 마운팅시 실행할 코드
}, []);

업데이트(Updating)

props나 state의 변경으로 인해 컴포넌트가 재렌더링 되는 과정
클래스 컴포넌트에선 componentDidUpdate에 해당

useEffect(() => {
    // 업데이트시 실행할 작업

    // 마운트와 업데이트의 구분이 필요한 경우
    if(mounted) {
        // 업데이트시에만 실행할 작업
    } else {
        mounted = true;
    }
});

언마운팅(Unmounting)

클래스 컴포넌트에선 componentWiilUnmount에 해당

useEffect(() => {
    return () => {
        // 언마운트시 실행할 작업
    };
}, []);
저작자표시

'프론트엔드 > React' 카테고리의 다른 글

사용자 음성을 텍스트로 변경하는 커스텀 훅  (0) 2023.06.14
useMemo와 useCallback의 차이는 뭘까  (0) 2023.02.19
리액트 내부 동작 원리  (0) 2023.02.17
useState는 비동기일까 동기일까? ( 배치 )  (0) 2023.02.06
React Query 공식문서 정리  (0) 2022.12.28
    '프론트엔드/React' 카테고리의 다른 글
    • 사용자 음성을 텍스트로 변경하는 커스텀 훅
    • useMemo와 useCallback의 차이는 뭘까
    • 리액트 내부 동작 원리
    • useState는 비동기일까 동기일까? ( 배치 )
    카엔입니다
    카엔입니다
    https://www.kaen.site/

    티스토리툴바