리액트의 메모이제이션 (useMemo, useCallback, React.memo)
리액트는 컴포넌트를 기반으로 동작한다. 컴포넌트는 props, state, context 등의 변경이 감지될때 변경 내용을 반영하기 위해서 재연산, 재성성을 진행하고 재렌더링 된다는 특징을 가지고 있다.이러한 특징은 UI의 일관성을 유지하고 사용자 경험을 개선 하거나 코드의 간결화, 예측 가능성 향상 등등의 장점들을 가지고 있지만 작성한 코드의 내용에 따라 불필요한 재렌더링이 자주 발생하여 성능에 악영향을 줄수도 있다. 성능저하를 최소화하기 위해서는 메모이제이션을 활용해야한다. 아주 쉽게 말하자면 "수정할 필요가 없는 부분은 냅둬라" 이다. 리액트의 불필요한 재연산, 재생성, 재렌더링을 방지하기 위한 기능은 여러가지가 있지만 여기서는 메모이제이션, 그 중에서도 useMemo와 useCallback, Re..
2024. 10. 31.