React의 StrictMode는 애플리케이션을 개발할 때 발생할 수 있는 잠재적인 문제를 식별하고 개발자에게 경고를 제공하는 유용한 도구입니다. StrictMode가 활성화되면, React는 일부 동작을 "엄격 모드"로 실행하여 코드를 더 안전하고 견고하게 만들 수 있도록 돕습니다.
여기서 "두 번 실행된다"는 의미는 React가 컴포넌트를 두 번 렌더링한다는 것입니다. 이는 개발 모드에서만 발생하며, 실제 프로덕션 빌드에서는 발생하지 않습니다.
왜 두 번 실행되나요?
StrictMode가 활성화되면, React는 렌더링과 사이드 이펙트(예: componentDidMount, useEffect 등)를 검증하기 위해 컴포넌트를 두 번 렌더링합니다. 이를 통해 다음과 같은 이슈들을 예방하고자 합니다:
- 불안정한 상태 변경: 상태나 props 변경이 예상치 못한 방식으로 동작하는지 확인.
- 클린업 문제: 컴포넌트가 언마운트될 때 useEffect에서 클린업이 제대로 이루어지는지 체크.
- 비동기적으로 해결되는 문제: 비동기 작업에서 발생할 수 있는 문제를 미리 경고.
이렇게 두 번 렌더링하는 이유는 안전하고 예측 가능한 코드로 이어지도록 돕기 위함입니다. 즉, 코드에서 발생할 수 있는 잠재적인 문제를 미리 발견하여 개발자가 문제를 빠르게 해결할 수 있게 해줍니다.
실제로는 어떤 영향을 미칠까요?
개발 중에는 두 번 렌더링이 성능에 영향을 줄 수 있지만, 실제 프로덕션 환경에서는 StrictMode가 작동하지 않으므로 성능에 영향을 미치지 않습니다.
따라서, StrictMode는 개발 시 유용한 도구로, 잠재적인 문제를 미리 찾아내고 경고하는 역할을 합니다.
'자바풀스택 과정 > 챗지피티 선생님 in 자바풀스택' 카테고리의 다른 글
챗 지피티에게 물어본 차트 구현 방식 (for project) (0) | 2025.04.15 |
---|---|
챗 지피티에게 물어본 DBA와 권한 개발, 개발 기본 세팅 등 (0) | 2025.04.14 |
챗지피티에게 물어본 textarea 요소에서 tab 키를 눌렀을 때 포커스가 아닌 들여쓰기로 동작하기 위한 방법 (0) | 2025.03.20 |
챗지피티에게 물어본 createBrowserRouter와 createHashRouter의 같은점과 다른점 (0) | 2025.03.07 |
챗지피티에게 물어본 Entity 사용과 데이터베이스 사용의 차이(장단점) (0) | 2025.03.04 |