💡 key point
- 리액트에 effect hook을 구분하게 하기
- dependency를 거짓말하지 않기
클래스형의 lifecycle 중심 사고를 벗어나야 한다. 함수형에서는 동기화 synchronization 이다. 렌더링된 컴포넌트가 그 순간의 prop, state 를 잡고 있다.('보고 있다')
따라서 함수형에서 useEffect hook 내 로직으로 '최초로 mount된 경우'와 '아닌 경우'가 다르게 작동하는 코드를 작성하는 것은 거의 불가하다고 봐야한다.
(카카오 소셜로그인 뒤로가기 이슈 관련하여 작업해보면서 내가 제자리 걸음하는 것이라 느끼긴 했다. 먼저 공부하고 새로운 시각을 찾는 것도 중요함을 깨달음.)
cleanup: 새 prop을 본(observe) 다음에 이전prop을 cleanup한다.
참고 🔗 A complete guide to useEffect