React

useMemo 처리된 non-primitive value를 컴포넌트 prop으로 넘길 시, 전달받은 컴포넌트에서도 해당 값이 memoization된 것인지 아닌지 파악하기

westone034626 2022. 7. 8. 10:24
  1. 정리: useMemo 처리된 non-primitive value는 하위 컴포넌트에 전달됐을 때도 같은 레퍼런스를 가리키는 non-primitive value이다. (pass by value가 아닌 pass by reference) 생각해보면, 컴포넌트에 prop을 전달하면 하위 컴포넌트에서는 props라는 객체에서 값을 꺼내서 사용하는데, 이때 props의 property는 reference로 값을 저장한다.
  2. 까마득히 잊고 있던 기억: useState도 memoization이 된다… 애초에 useState가 컴포넌트의 렌더링 과정에서도 값을 쥐고 있기 위한 hook인데… 이 점을 간과하다니..