코드 오류를 사전에 차단하는 React Strict 모드 이해하기

JavaScript에는 'use strict' 구문을 사용하여 코드를 보다 엄격하게 검사할 수 있는 "엄격 모드"가 있습니다. 마찬가지로, React에는 잠재적 문제를 식별하는 데 도움을 주는 React Strict 모드가 있는데요. Next.js와 같은 프레임워크에서도 설정 파일을 통해 이 모드를 활성화할 수 있으며, 사용을 강력히 권장하고 있습니다.


React Strict 모드란 무엇일까요?

  • 추가적인 렌더링을 실행하여 렌더링 관련 버그를 식별합니다.

  • useEffect두 번 실행하여 클린업 함수 누락과 같은 버그를 찾아냅니다.

  • 사용되지 않는(deprecated) API의 사용을 감지합니다.

React는함수형 프로그래밍 패러다임을 활용하여 컴포넌트를 구성하기 때문에 순수 함수처럼 동작하기를 기대합니다. 즉, 동일한 입력(props, state)에 대해 항상 동일한 JSX를 반환해야 하는데요. 이 규칙을 위반하면 예상치 못한 동작과 버그가 발생할 수 있습니다. Strict 모드는 이러한 순수하지 않은 코드를 식별하기 위해 일부 함수를 두 번 호출합니다. 함수가 순수하다면 두 번 호출하더라도 렌더링 결과는 동일하기 때문인데요. 이중 호출 대상에는 다음이 포함됩니다:

  • 컴포넌트 함수 본문(함수 컴포넌트 전체)

  • useState, setFunctions(setState 함수), useMemo

이중 호출은 사이드 이펙트를 포함할 수 있는 코드가 순수 함수의 기대를 충족하는지 확인하기 위해 수행됩니다. Strict 모드가 아닌 경우, 추가적인 렌더링이 발생할 때까지 버그를 간과하기 쉽습니다.


개발 모드에서 이러한 두 번째 렌더링을 비활성화하고 싶다면, React DevTools 확장 프로그램에는 이를 억제할 수 있는 설정이 포함되어 있습니다. 이를 통해 개발자는 필요에 따라 Strict 모드의 이중 렌더링을 조절할 수 있습니다.


https://react.dev/reference/react/StrictMode

- React

react.dev

- React

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2024년 3월 3일 오전 1:48

 • 

저장 78조회 3,611

댓글 0

    함께 읽은 게시물


    진짜 1인 개발자 전성시대

    1

    ... 더 보기

    진짜 1인 개발자 전성시대

    K리그 프로그래머

    진짜 1인 개발자 전성시대

    혹시, Cursor 나 Claude 얘기는 많이 들었는데
    잘 쓰고있는건지 모르겠다,
    이제는 AI 활용 방법 제대로 배워야 할것 같은데
    어디서부터 어떻게 시작할지 막막하다
    이런 고민을 하고 계신가요??

    ... 더 보기

    < 피터 드러커가 말한 7살도 아는 성공 공식 >

    1

    ... 더 보기


    나는 종종 생산성을 올리기 위한 각종 개발 툴은 물론, 라이브러리나 소스 코드를 구매하기도 한다.


    소스 코드의 경우 실제로 써먹지 못하는 경우도 상당수 되긴 하지만, 그래도 구성이나 코드를 보면서 배우는게 있기 때문에 학습 비용이라고 생각하고 가끔 구매하는 편이다.


    ... 더 보기