(React) memo

soosoorim·2024년 5월 20일
0

Memoization 의 memo

  • 동일한 계산을 반복적으로 해야할 때, 이전에 계산한 값을 메모리에 저장하여, 중복적인 계산을 제거하는 방법
  • 전체적인 실행속도를 개선시킬 수 있다.
  • Component가 재실행되는 조건을 제어하는 함수
  • Component는 Props 또는 State가 변경되면, 해당 Component를 재실행하며, 해당 Component의 Child Component들도 모두 재실행 된다.
  • Props과 관련이 없는 Component는 재실행되지 않도록 막는 방법.
  • Context를 사용하는 경우 memo는 동작하지 않고, 오직 Props에 대해서만 체크한다.

  • TodoApp이 재실행되더라도 재실행이 필요없는 AddTodo는 재실행되지 않도록 막는다!

memo 는 남발해서는 안된다!
Props를 비교하는 행위 자체가 매우 큰 비용의 연산.
자주 발생하거나, 많은 컴포넌트에서 발생할 경우 오히려 성능이 저하된다.

memo 는 Component에 전달되는 Props가 변경되었을 때만 컴포넌트를 다시 실행한다.

  1. 함수 = 객체
  2. 객체리터럴 = 객체

==> 위 두가지는 Reference Type(메모리)

memo 테스트를 위해 Context는 제거.
memo는 Context 안에서 동작되지 않는다.

memo 함수 안에 기존 함수를 넣어준다.

0개의 댓글

관련 채용 정보