[React.js] Re rendering 조건
2021. 12. 9. 00:35ㆍReactJS/Information
React의 장점 하면 무엇이 생각나는가?
내 생각으로는 React는 Virtual DOM을 이용해 초기 렌더링 되었을 때 DOM을 저장해놓고, 이 후 특정 값이 변경되었을 때 Virtual DOM에 적용 후 Virtual DOM에 있는 Render Tree를 Real DOM에 적용하여 Browser Rendering 연산 비용을 줄여주는 것이 제일 먼저 생각나지 않을까 싶다.
(사실 이 부분에 대해서는 제대로 이해한게 맞나? 라는 생각이 든다. Browser Redering 과정을 알고 있다면 어느정도 이해가 가는 부분이지만, 설명을 하기란 어려운 것 같다. 나중에 Browser Rendering 과정에 대해서도 따로 작성하도록 한다.)
그렇다면 특정 값이 변경되었을 때 Re rendering이 된다는 것은 알았으니 이제 어떤 값이 변경이 되어야지 Re rendering이 발생되는지를 알아보자.
- Props의 변경
- State의 변경
- 부모 Component가 Rendering 되었을 때
- forceUpdate(); 를 사용하였을 때
위 4가지 조건에 의해 Re rendering이 일어난다.
(이 내용은 추 후 성능 작업을 진행할 때 useMemo, useCallback과 같은 Hook을 쓸 때에도 나오는 개념이니 잘 이해하고 있어야 한다.)
한가지 더 알아둬야 할 점은 함수형 컴포넌트로 작성된 컴포넌트가 Re rendering이 될 때에는 내부에 선언된 변수 및 함수를 다시 생성 한다는 것을 알고 있으면 좋을 것 같다.
'ReactJS > Information' 카테고리의 다른 글
[React.js] createPortal 사용하여 DOM을 원하는 요소 안으로 옮기 (0) | 2021.12.11 |
---|---|
[React.js] 최상위 API React.memo (0) | 2021.12.11 |
[React.js] Hook 정리 (0) | 2021.12.11 |
[React.js] Redux & Reducer (0) | 2021.12.09 |
[React.js] Class Component vs Functional Component (0) | 2021.12.04 |