오류

React 자식 요소의 리렌더링 방지 방법

vamosdev12 2025. 5. 21. 16:28

[문제 상황]

리스트의 값을 .map()하여 자식 요소를 여러개 렌더링함.

리스트의 값을 하나만 변경해도 해당 원소가 아닌 다른 원소를 참조하는 모든 값,

즉, 그 리스트를 참조하는 모든 자식 요소가 리렌더링 되는 상황 발생.

memo도 적용되지 않음.

 

[원인]

'자식 요소'는 '부모 요소' 안에서 선언되어 있었고, useSate()로 관리되는 변화가 있는 '부모 요소'의 값을 직접 사용하였다.
그대로 '부모 요소' 안에 선언해둔 채로 직접 '부모 요소'의 값을 사용하지 않고 props로 받도록 수정하였는데 그래도 의미가 없었다.

 

[문제 해결]

1 .자식요소를 별도의 파일로 만들어 컴포넌트화 함.
2. 부모요소에서 해당 자식 요소를 import 함

3. 필요한 모든 부모의 값들을 props로 자식요소에 전달

=> 즉, 자식 컴포넌트가 변동이 있는 부모의 모든 값을 props로 받게 해야함.