useEffect
는 React 생태계에서 가장 과용되고 잘못 사용되는 Hook이며, 많은 개발자가 데이터 가져오기, props를 state에 로드, state 동기화 등 다양한 용도로 사용합니다. ⚠️useEffect
를 과도하게 사용하는 것은 흔한 실수이며, side effect를 선언적으로 처리할 수 있다면useEffect
를 사용하지 않는 것이 좋습니다. 🚫- 데이터 가져오기 라이브러리(예: Tanstack Query)나 서버 사이드 렌더링을 사용하면
useEffect
를 사용하지 않고도 데이터를 효율적으로 가져올 수 있습니다. 🚀 - state나 props에서 파생된 값을 계산할 때
useEffect
대신 인라인으로 처리하거나useMemo
를 사용하는 것이 더 효율적일 수 있습니다. 💡 - 전역 이벤트 리스너를 React state와 연결해야 하는 경우
useEffect
를 사용하는 것이 적절합니다. ⌨️ - DOM 요소와 직접 상호 작용해야 하는 경우(예: 요소의 크기 측정)
useEffect
를 사용할 수 있습니다. 📐