Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- TypeScript
- @media
- 프론트엔드
- CSS
- Servlet
- JS
- frontend
- react-router-dom
- cleancode
- 변수
- 코드업
- redux
- webpack
- max-width
- 그럼에도 불구하고
- node
- react
- JavaScript
- HTML
- 그럼에도불구하고
- github
- 코딩테스트
- 자바
- 자바문제풀이
- 반응형 페이지
- media query
- coding
- git
- node.js
- java
Archives
- Today
- Total
그럼에도 불구하고
[React] 리액트 렌더링 두 번 방지하는 법 본문
리엑트 렌더링이 두 번 되는 경우 이를 방지하는 법에 대해 알아보겠습니다.
🧑🏻💻 React Strict Mode
렌더링이 두 번 발생하는 이유는 React.StrictMode 때문입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | import React from 'react' import ReactDOM from 'react-dom/client' import App from './App.tsx' import './index.css' import { Provider } from 'react-redux' import store from './app/store.ts' ReactDOM.createRoot(document.getElementById('root')!).render( <React.StrictMode> <Provider store={store}> <App /> </Provider> </React.StrictMode>, ) | cs |
따라서 React.StrictMode Wrapper를 제거해 주면 컴포넌트가 두 번씩 호출되지 않습니다.
📌 존재 이유
StrictMode는 애플리케이션 내의 잠재적인 문제를 알아내기 위한 도구입니다.
Frament와 같이 UI를 렌더링 하지 않고, 자식들에 대한 부가적인 검사와 경고를 활성화합니다.
Strict 모드는 개발 모드에서만 활성화되기 때문에, 프로덕션 빌드에는 영향을 끼치지 않습니다.
React 공식 문서에 따르면 StrictMode는 아래와 같은 부분에서 도움이 됩니다.
- 안전하지 않은 생명주기를 사용하는 컴포넌트 발견
- 레거시 문자열 ref 사용에 대한 경고
- 권장되지 않는 findDOMNode 사용에 대한 경고
- 예상치 못한 부작용 검사
- 레거시 context API 검사
🏷️ ref
https://ko.legacy.reactjs.org/docs/strict-mode.html#gatsby-focus-wrapper
'React > React basics' 카테고리의 다른 글
[React with TS] 계속되는 List 최적화하기 (0) | 2023.07.29 |
---|---|
[React] useEffect와 useLayoutEffect의 차이 (0) | 2023.07.27 |
[Redux with TS] createSlice란? (0) | 2023.07.18 |
[React with TS] useTransition과 useDeferredValue (0) | 2023.07.17 |
[React] 레이지 로딩이란? (0) | 2023.07.08 |
Comments