useMemo, React.memo, useCallback 등을 활용한 최적화가 어렵다.
실제로 프로젝트에 하나도 사용하지 못했다.
내 PC에선 최적화가 필요할 만큼 느리진 않았지만 해당 내용들에 대해 익숙해질 필요가 있다고 생각한다.
setState가 비동기로 동작하면서 의도한 대로 동작하지 않을 때가 가끔 있는데, 아직도 익숙하지 않다.
이전 프로젝트에서도 고생했던 useState와 useEffect를 생각만큼 잘 활용하지 못했던 것 같다.
상태 업데이트 시기나 의존성에 따른 리렌더링을 머릿속으로는 알고있는데 막상 코드로 짜니 useState의 비동기성을 놓치는 경우도 많았고, 의존성 배열에 잘못된 디펜던시를 넣은 경우도 많았다.
또한 useCallback과 useMemo을 이용한 최적화를 어느 부분에서 적용해야하는지 잘 감이 오지 않는다.
useState, useEffect, useRef 등의 기본 리액트 훅을 활용하면서 어느정도 능숙해졌다고 생각이 들었는데 가끔은 예상치 못하게 동작하던 경우가 있었다.
기억에 남는 점은 useState에 초기값은 항상 맨 처음에만 유효하다. prop으로 전달 받은 상태를 useState의 초기값으로 주는 방식으로 구현을 했었는데 분명 prop으로 다른 값을 넘겼는데 왜 동작을 안하지? 싶은 적이 있었다. 이런 useState의 성질을 새로 알게되었고 useEffect를 통해서 해결을 했다.
useRef도 헷갈렸던 적이 많다. 분명 dom을 지정했는데도 current에 null이 잡히적이 많았다.
이는 current는 dom이 렌더링되고 할당이 되는데 그전에 로직을 짜다 보니 발생했던 실수였다.
마지막으로 useCallback, useMemo를 많이 활용하지 못했다.
최적화를 하기위해 고민을 더 해봐야할 것 같다.