인프런 커뮤니티 질문&답변

emJ님의 프로필 이미지

작성한 질문수

[2024] 한입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

10.3) React.memo와 컴포넌트 렌더링 최적화

areEqual 질문 입니다.

해결된 질문

22.09.21 23:28 작성

·

420

0

안녕하세요!

const MemoizedCounterB = React.memo(CounterB, areEqual);

위 코드에서 따로 areEqual에 따로 전달해준 값이 없는데 prevProps, nextProps는 어디서 어떻게 받아오는건가요?

답변 2

1

이정환 Winterlood님의 프로필 이미지
이정환 Winterlood
지식공유자

2022. 09. 26. 21:50

안녕하세요 이정환입니다.

areEqual은 콜백함수로 React.memo가 리렌더링이 필요할지 판단하고자 할 때 호출됩니다.

이것은 배열 메소드의 map, forEach와 유사하다고 볼 수 있는데요, map 메서드의 경우 전달하는 콜백함수에 매개변수로 index, item이 제공되는 것 처럼 React.memo에 전달하는 areEqual 함수 또한 React.memo가 필요할때 호출하여 매개변수를 제공합니다.

0

팀오님의 프로필 이미지

2022. 09. 22. 16:54

저도 이게 궁금합니다.

React.memo의 인자로 함께 들어가는 컴포넌트의 props변화를 areEqual이 알아서 인식하게 되는건가요?

emJ님의 프로필 이미지

작성한 질문수

질문하기