리액트의 핵심 개념 중 하나인 상태 변경, Virtual DOM, Diffing 알고리즘에 대해 알아보겠습니다.
상태(state) 변경과 리렌더링
React는 상태(state)가 변경될 때 해당 상태를 사용하는 컴포넌트를 리렌더링합니다.
즉, 어떤 상태가 변경되었을 때 그 상태를 사용하고 있는 컴포넌트만 다시 그려집니다. 이는 상태가 변경되어도 해당 상태에 의존하지 않는 다른 컴포넌트는 리렌더링 되지 않는다는 것을 의미합니다.
Virtual DOM
리렌더링의 효율성을 위해 리액트는 Virtual DOM이라는 개념을 도입했습니다.
Virtual DOM은 실제 DOM을 추상화한 개념으로, 상태가 변경될 때마다 전체 UI를 Virtual DOM 상에서 리렌더링합니다. 이는 메모리에 가상으로 존재하는 DOM으로, 실제 브라우저의 DOM에 직접적인 변화를 주지 않기 때문에 렌더링 성능을 크게 향상시킵니다.
Diffing 알고리즘
리액트는 어떻게 실제 DOM에 반영할 부분만 찾아내는 걸까요? 바로 Diffing 알고리즘 덕분입니다.
리액트는 Virtual DOM을 사용하여 이전 상태와 새로운 상태를 비교(diff)합니다. 이 알고리즘을 통해 변경된 부분만 실제 DOM에 반영하게 됩니다.
결론
이러한 리액트의 메커니즘 덕분에 상태가 변경될 때마다 전체 애플리케이션이 리렌더링 되는 것이 아니라, 실제로 필요한 부분만 업데이트되는 것이 가능합니다.
이는 리액트가 대규모 애플리케이션에서도 빠르고 효율적으로 작동할 수 있게 해주는 주요 요인 중 하나입니다.
'Javascript > ReactJs' 카테고리의 다른 글
JSX(JavaScript XML)란 무엇인가? (0) | 2023.07.21 |
---|