컴퓨터 프로그램이 동일한 계산을 반복해야 할 때, 이전에 계산한 값을 메모리에 저장함으로써 동일한 계산의 반복 수행을 제거하여 프로그램 실행 속도를 빠르게 하는 기술
메모이제이션을 통해 컴포넌트, 함수, 함수의 값을 브라우저의 메모리에 저장한다. props, state, 의존성 배열에 대하여 이전과 변경사항이 존재하지 않는 경우, 메모리에 저장한 메모이제이션 값을 사용하는 방식을 통해 최적화를 진행한다.
변경사항이 적은 값에 대하여 유리하며, 상태변경 많은 경우에는 변경의 수 만큼 새롭게 메모리에 저장하는 방식을 취하는 것과 더불어 가지고 있는 상태변경 과정이 또 있다면 서로 맞물리지는 못하는 경우 되려 어플리케이션 성능이 나빠질 수 있음에 주의하자.
이전의 계산된 결과를 기반으로 점화식을 통해 연산 비용을 줄인다. 모든 경우의 수를 다 적용해보는 브루트포스와는 다르게 최적해를 통해 이전의 계산과정을 저장하기 때문에, 기존의 시간복잡도를 크게 단축시키는 알고리즘이다.