728x90
TL;DR 같은 props로 렌더링이 자주 일어나는 컴포넌트
// Initial render
<MovieViewsRealtime
views={0}
title="Forrest Gump"
releaseDate="June 23, 1994"
/>
// After 1 second, views is 10
<MovieViewsRealtime
views={10}
title="Forrest Gump"
releaseDate="June 23, 1994"
/>
// After 2 seconds, views is 25
<MovieViewsRealtime
views={25}
title="Forrest Gump"
releaseDate="June 23, 1994"
/>
function MovieViewsRealtime({ title, releaseDate, views }) {
return (
<div>
<MemoizedMovie title={title} releaseDate={releaseDate} />
Movie views: {views}
</div>
);
}
위의 예시에서 views를 제외한 title, releaseDate를 포함한 component를 만들고 memo로 감싸면 효율적이다.
props가 전부다 계속해서 변경되는 경우라면 사용하지 말자. 함수를 인자로 넘길경우 useCallback을 사용하자.
https://ui.toast.com/weekly-pick/ko_20190731
React.memo() 현명하게 사용하기
유저들은 반응이 빠른 UI를 선호한다. 100ms 미만의 UI 응답 지연은 유저들이 즉시 느낄 수 있고, 100ms에서 300ms가 지연되면 이미 유저들은 상당한 지연으로 느낀다. UI 성능을 증가시키기 위해, React
ui.toast.com
'software engineering > frontend' 카테고리의 다른 글
FE 성능 개선을 위한 7가지 방법 (0) | 2023.02.14 |
---|---|
TL;DR 함수형 프로그래밍 by Teo (0) | 2023.02.14 |
Emotion Theme 적용하기 (0) | 2023.02.04 |
CSS 방법론 그리고 Utility First CSS (1) | 2023.01.17 |
단방향, 양방향 바인딩 (0) | 2023.01.16 |