useMemo


오늘 알고리즘 스터디가 끝나고 달리기를 했다.

달리기를 하고 오니 스터디 멤버들은 열심히 무언가를 하고 있었다.

React에서 useMemo를 사용해 재랜더링을 방지하는 방법에 대해 열심히 토론하는 것을 보았다. 나도 씻는 것을 미루고 가만히 의자에 앉아 카일이 코드로 구현하는 걸 지켜봤다.

원하는 대로 구현이 안 돼서 많은 시간을 useMemo에 대해 찾아보고 예제 코드를 보고 결국에는 성공.

메모 리제이션을 하고 싶은 컴포넌트를 memo를 이용해 리턴하는 것뿐만 아니라 그 상위의 컴포넌트도 메모로 기억을 해주어야 했다.

사실, 아직 완전히 이해는 못 했다. 따로 공부해야 할 듯..

최적화에 대해서 잘 모르기 때문에 useCallbackuseMemo에 대한 이점이 대 렌더링을 방지한다는 것 밖에 모른다. 언제 어떤 상황에서 유용하게 쓸 수 있을까?

공식 문서를 이런 말이 있다.

가까운 미래에 React에서는, 이전 메모이제이션된 값들의 일부를 “잊어버리고” 다음 렌더링 시에 그것들을 재계산하는 방향을 택할지도 모르겠습니다.

useMemo를 사용하지 않고 동작할 수 있는 코드를 짜라는 게 핵심인데.

내 생각에는 리액트도 성능이 계속해서 좋아질 테고, 결국에는 값을 저장하는 것보다 그냥 새로 계산하는 게 빨라질지도?




© 2021.01. by somedaycode

Powered by theorydb