-
Notifications
You must be signed in to change notification settings - Fork 1
렌더링 최적화에 대하여 (by 최적화무새)
Soobeen Yoon edited this page Nov 26, 2022
·
10 revisions
- 최하위 컴포넌트들 (Button, Text 등)은 부모 컴포넌트가 바뀌었을 때에 무조건 렌더링된다.
- 자녀 컴포넌트가 변하지 않았는데 불필요한 렌더링을 계속 하는 문제를
React.memo로 해결할 수 있다. - 최적화된 컴포넌트를 리턴하여 렌더링이 될 상황에 Prop check 수행, Props 변화가 있을 때만 렌더링하도록 설정함.
하지만 최적화무새에게는 아직 부족하지..
- prop는 원시 타입이 아니면 함수형 컴포넌트(부모)가 렌더링될 때마다 prop이 새로운 object이기 때문에
memo(Child);해도 제대로 작동 안 할 수 있다. - 이러한 경우에는 useMemo Hook과 함께 써야 최적화가 가능하다.
const startPauseButton = useMemo(() => {
return <Button context={<Image src={buttonConfig.src} />} onClick={handleOnToggle} />;
}, [buttonConfig.src]);
const postponeDoneButton = useMemo(() => {
return (
<>
<Button context={<Image src={Postpone} />} />
<Button context={<Image src={Done} />} />
</>
);
}, []);- OaO 환경설정 A to Z
- CRLF 너가 뭔데 날 힘들게 해?
- Github Issue 똑똑하게 사용하기
- OAO! CI CD 적용기 with release 자동화
- 매번 다른 import문
- 못생긴 상대경로에서 간zlzl존 절대경로로😎
- TodoList API 개발기
- 의존성 주입으로 DB를 바꿔보자
- 렌더링 최적화 서막: useNavigate를 추가한 순간 리렌더 범위가 확장된 건에 대하여
- 렌더링 최적화 1탄: 렌더링 범위에 대하여 (by 최적화무새)
- 렌더링 최적화 2탄: 잘못된 custom hook 사용,, 전체 리렌더링을 부르다,,
- 렌더링 최적화 3탄: Todo 상세 좀 봤다고 테이블 전체가 재렌더링 되는건을 고치기😌
- 렌더링 최적화 4탄: 다이어그램 편
- 🐁 마우스 상대위치 계산은 이상해
- React 컴포넌트에 애니메이션을 적용해보자 🏃🏻💨
- 컴포넌트 재사용성을 높여보자: Modal 분리기 🌹
- 선후관계를 자동완성으로 추가해보자 🔎