FrontEnd/React
React 비용 계산하기 - React Profiler API
CoderHan
2023. 1. 8. 10:28
반응형
https://ko.reactjs.org/docs/profiler.html
Profiler API – React
A JavaScript library for building user interfaces
ko.reactjs.org
리액트를 활용하여 애플리케이션을 만든 후에 비용을 어떻게 계산할 수 있을까?
리액트는 업데이트된 부분만 리렌더링하는 특징이 있다.
이를 위해서 렌더링할 필요가 없는 부분은 memo함수를 이용하여 메모이제이션하는 등 여러 방법을 취하고 있다.
그럼 이게 잘 동작하는지, 최악의 비용은 어느 정도인지 계산할 수 있는 API가 바로 Profiler API이다.
코드는 아래와 같다.
render(
<App>
<Profiler id="Navigation" onRender={callback}>
<Navigation {...props} />
</Profiler>
<Main {...props} />
</App>
);
예를 들어 Navigation을 profile하기 위해서 profiler로 감싸준다.
profiler는 2개의 props를 전달받는데 id = 문자열 onRender = callback함수를 전달받는다.
여기서 onRender callback함수에 필요한 정보들이 들어있다.
function onRenderCallback(
id, // 방금 커밋된 Profiler 트리의 "id"
phase, // "mount" (트리가 방금 마운트가 된 경우) 혹은 "update"(트리가 리렌더링된 경우)
actualDuration, // 커밋된 업데이트를 렌더링하는데 걸린 시간
baseDuration, // 메모이제이션 없이 하위 트리 전체를 렌더링하는데 걸리는 예상시간
startTime, // React가 언제 해당 업데이트를 렌더링하기 시작했는지
commitTime, // React가 해당 업데이트를 언제 커밋했는지
interactions // 이 업데이트에 해당하는 상호작용들의 집합
) {
// 렌더링 타이밍을 집합하거나 로그...
}
자세한 사용법은 Chrome브라우저에서 react developer tool을 이용하면 쉽게 이용해볼 수 있는데
해당 내용을 잘 설명해준 블로그 글을 첨부한다.
http://medium.com/wantedjobs/react-profiler를-사용하여-성능-측정하기-5981dfb3d934
React Profiler를 사용하여 성능 측정하기
Profiler 도구를 사용하여 React 성능을 측정하고, 어떻게 하면 성능을 높일 수 있는지 알아보겠습니다.
medium.com
반응형