Grace
grace's dev_note
Grace
전체 방문자
오늘
어제
  • 분류 전체보기
    • FrontEnd
      • Next.js
      • React
      • ReactNativ..
      • Vue
    • Javascript
      • 러닝 자바스크립트
      • 모던 자바스크립트
    • CS
    • DataScienc..
      • Data Struc..
      • LeetCode
    • BackEnd
      • Express
      • Node.js
      • Nest.js
    • DevOps
      • Docker
    • 매일메일
    • 회고
    • 코드캠프

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Vue3
  • Vue.js
  • 번들러
  • vue-query
  • backend
  • node.js
  • PostgreSQL
  • nest.js
  • vitejs
  • 알고리즘
  • javascript
  • pinia
  • 자바스크립트
  • Express
  • Vue
  • tanstack
  • postgres
  • React Native
  • Vite
  • 함수

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Grace

grace's dev_note

FrontEnd/React

React의 Strict Mode

2022. 11. 10. 13:01

React에는 애플리케이션 내의 잠재적인 문제를 알아내기 위한 도구가 있습니다.

바로 StrictMode입니다.
개발 모드에서 앱 내의 잠재적인 버그를 알아내기 위해서 컴포넌트를 두 번 렌더해줍니다.
당연하게도, 개발 모드에서만 활성되기 때문에 프로덕션 빌드(배포)에는 영향을 끼치지 않습니다.

React나 Next.js 앱을 시작하면 next.config.js 파일이 있는 것을 확인할 수 있습니다.
해당 파일에 들어가보면

/** @type {import('next').NextConfig} */
const nextConfig = {
  reactStrictMode: true,
}

module.exports = nextConfig

이렇게 작성되어 있는 것을 확인할 수 있는데요.
여기에서 strictmode가 true이면 컴포넌트를 두 번 렌더해주게 됩니다.
이 기능은 React 18 버전부터 지원됩니다. (17버전일 경우 strictmode true 여도 활성화되지 않습니다.)

만약 config.js에서 설정해주지 않아도 react에서 StrictMode를 import 하여 컴포넌트르 감싸주어 활성화 해줄 수 있습니다.

import React from 'react';

function ExampleApplication() {
  return (
    <div>
      <Header />
      <React.StrictMode>
        <div>
          <ComponentOne />
          <ComponentTwo />
        </div>
      </React.StrictMode>
      <Footer />
    </div>
  );
}

이 도구는 아래와 같은 장점이 있습니다.

  • 레거시 문자열 ref 사용에 대한 경고
  • 권장되지 않은 findDOMNode 사용에 대한 경고
  • 예상치 못한 부작용 검사
  • 레거시 context API 검사

참고: https://ko.reactjs.org/docs/strict-mode.html

저작자표시 비영리 변경금지 (새창열림)

'FrontEnd > React' 카테고리의 다른 글

React에서 CRA보다 Vite가 좋다고? - 플러그인 사용하기  (0) 2022.12.20
React에서 CRA보다 Vite가 좋다고? - 지원하는 기능  (0) 2022.12.20
React에서 CRA보다 Vite가 좋다고? - 시작하기  (0) 2022.12.19
React에서 CRA보다 Vite가 좋다고? - Vite를 사용하는 이유  (0) 2022.12.19
리액트로 스크롤 애니메이션 구현하기  (0) 2022.10.02
    'FrontEnd/React' 카테고리의 다른 글
    • React에서 CRA보다 Vite가 좋다고? - 지원하는 기능
    • React에서 CRA보다 Vite가 좋다고? - 시작하기
    • React에서 CRA보다 Vite가 좋다고? - Vite를 사용하는 이유
    • 리액트로 스크롤 애니메이션 구현하기
    Grace
    Grace
    기술 및 회고 블로그

    티스토리툴바