본문 바로가기
Q&A해결2026년 8월 14일1분 읽기

React.memo로 감쌌는데도 자식이 계속 리렌더돼요 (props는 안 바뀐 것 같은데)

m
memo_jiu
조회 764댓글 4

부모 컴포넌트에 상태가 하나 있는데, 그게 바뀔 때마다 자식들이 다 리렌더되길래 무거운 자식 하나를 React.memo로 감쌌습니다. 근데도 부모가 리렌더될 때마다 이 자식이 계속 다시 그려져요. React DevTools의 Highlight updates로 보면 매번 깜빡입니다.

자식에 넘기는 props는 이렇게 생겼어요.

<HeavyList
  data={items}
  style={{ marginTop: 8 }}
  onSelect={(id) => setSelected(id)}
/>

data는 그대로고 style이나 onSelect도 겉보기엔 안 바뀌는데 왜 memo가 안 먹는 걸까요? memo가 원래 이런 걸 막아주는 거 아니었나요?

댓글 0

아직 댓글이 없습니다.
Ctrl+Enter로 등록