240710 TIL

Jun Young Kim·2024년 7월 10일
0

TIL

목록 보기
57/63

React StrictMode

React StrictMode는 리액트 애플리케이션에서 잠재적인 문제를 감지하고 개발 과정에서 더 나은 코드 품질을 유지하기 위해 사용하는 도구입니다. 엄격 모드에서는 일부 잠재적 문제와 비효율적인 코드 패턴을 강조 표시하여 개발자가 이를 식별하고 수정할 수 있도록 돕습니다. 여기에서는 React StrictMode의 주요 기능과 장점에 대해 설명합니다.

주요 기능

  1. 중복 함수 호출:

    • React는 렌더링을 보장하기 위해 일부 수명 주기 메서드를 두 번 호출합니다. 이는 특히 side effect가 있는 메서드에서 중요한 문제를 발견하는 데 도움이 됩니다.
  2. 안전하지 않은 생명주기 메서드:

    • componentWillMount, componentWillReceiveProps, componentWillUpdate와 같은 오래된 생명주기 메서드의 사용을 경고합니다. 이들은 종종 버그를 일으킬 수 있으므로 최신 메서드(getDerivedStateFromProps, componentDidUpdate 등)로 대체하는 것이 좋습니다.
  3. Legacy String Refs:

    • 문자열을 사용한 참조 설정을 경고합니다. 문자열 참조는 여러 가지 문제를 일으킬 수 있으며, 콜백 함수 또는 React.createRef를 사용하는 것이 권장됩니다.
  4. 의도하지 않은 사이드 이펙트:

    • 의도하지 않은 부작용을 감지합니다. 예를 들어, 렌더링 중에 side effect를 일으키는 코드가 있는지 확인합니다.
  5. Deprecated API Usage:

    • 더 이상 사용되지 않는 API를 사용하고 있는지 확인하고 경고합니다. 이는 미래의 React 버전에서 호환성 문제를 예방하는 데 도움이 됩니다.

사용 방법

React StrictMode를 사용하는 것은 매우 간단합니다. 애플리케이션의 루트 컴포넌트 또는 특정 컴포넌트를 StrictMode 컴포넌트로 감싸기만 하면 됩니다. 예를 들어:

import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';

ReactDOM.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>,
  document.getElementById('root')
);

이렇게 하면 App 컴포넌트와 그 하위 컴포넌트에서 발생하는 잠재적인 문제를 감지하고 경고 메시지를 콘솔에 출력합니다.

장점

  1. 코드 품질 향상:

    • 개발 중에 잠재적인 문제를 조기에 발견하여 더 안정적이고 유지 보수하기 쉬운 코드를 작성할 수 있습니다.
  2. 미래 대비:

    • 최신 React 버전에서의 변경 사항에 대비하여 코드가 더 안전하게 작성되도록 도와줍니다.
  3. 개발자 경험 개선:

    • 문제를 조기에 발견하여 디버깅 시간을 줄이고, 더 나은 개발 경험을 제공합니다.

React StrictMode는 프로덕션 환경에는 영향을 미치지 않으며, 오직 개발 환경에서만 활성화됩니다. 이를 통해 개발자는 애플리케이션의 성능에 영향을 주지 않으면서 더 나은 코드를 작성할 수 있습니다.

결론

React StrictMode는 개발자가 더 나은 코드를 작성하고 잠재적인 문제를 조기에 발견할 수 있도록 돕는 매우 유용한 도구입니다. 이를 통해 리액트 애플리케이션의 안정성과 유지 보수성을 크게 향상시킬 수 있습니다. 개발 과정에서 StrictMode를 사용하는 습관을 들이면 장기적으로 많은 이점을 누릴 수 있습니다.

0개의 댓글