자바풀스택 과정/챗지피티 선생님 in 자바풀스택

챗지피티에게 물어본 리액트의 StrictMode와 리액트 실행

파티피플지선 2025. 4. 7. 12:34

React의 StrictMode는 애플리케이션을 개발할 때 발생할 수 있는 잠재적인 문제를 식별하고 개발자에게 경고를 제공하는 유용한 도구입니다. StrictMode가 활성화되면, React는 일부 동작을 "엄격 모드"로 실행하여 코드를 더 안전하고 견고하게 만들 수 있도록 돕습니다.

여기서 "두 번 실행된다"는 의미는 React가 컴포넌트를 두 번 렌더링한다는 것입니다. 이는 개발 모드에서만 발생하며, 실제 프로덕션 빌드에서는 발생하지 않습니다.

왜 두 번 실행되나요?

StrictMode가 활성화되면, React는 렌더링과 사이드 이펙트(예: componentDidMount, useEffect 등)를 검증하기 위해 컴포넌트를 두 번 렌더링합니다. 이를 통해 다음과 같은 이슈들을 예방하고자 합니다:

  1. 불안정한 상태 변경: 상태나 props 변경이 예상치 못한 방식으로 동작하는지 확인.
  2. 클린업 문제: 컴포넌트가 언마운트될 때 useEffect에서 클린업이 제대로 이루어지는지 체크.
  3. 비동기적으로 해결되는 문제: 비동기 작업에서 발생할 수 있는 문제를 미리 경고.

이렇게 두 번 렌더링하는 이유는 안전하고 예측 가능한 코드로 이어지도록 돕기 위함입니다. 즉, 코드에서 발생할 수 있는 잠재적인 문제를 미리 발견하여 개발자가 문제를 빠르게 해결할 수 있게 해줍니다.

실제로는 어떤 영향을 미칠까요?

개발 중에는 두 번 렌더링이 성능에 영향을 줄 수 있지만, 실제 프로덕션 환경에서는 StrictMode가 작동하지 않으므로 성능에 영향을 미치지 않습니다.

따라서, StrictMode는 개발 시 유용한 도구로, 잠재적인 문제를 미리 찾아내고 경고하는 역할을 합니다.