파트 4: 당신은 아마도 그 `useEffect`가 필요 없을 겁니다 (이벤트 핸들러가 부작용을 처리하는 더 나은 장소인 경우가 많습니다)
(dev.to)리액트 개발 시 사용자 이벤트를 처리하기 위해 불필요한 useEffect와 상태 변수를 사용하는 대신, 이벤트 핸들러에서 직접 로직을 실행함으로써 코드 복잡도를 낮추고 성능을 최적화하는 효율적인 패턴을 제시합니다.
이 글의 핵심 포인트
- 1사용자 클릭과 같은 내부 이벤트를 처리하기 위해 `shouldSave`와 같은 불필요한 상태 플래기(Boolean flags)를 사용하는 것은 안티 패턴입니다.
- 2이벤트 핸들러를 사용하면 '클릭 $\rightarrow$ 상태 변경 $\rightarrow$ 리렌더링 $\rightarrow$ Effect 실행'이라는 불필요하고 긴 과정을 단축할 수 있습니다.
- 3`useEffect`의 본래 목적은 웹소켓, 브라우저 이벤트, 외부 라이브러리 등 React 외부 시스템과의 동기화에 국한되어야 합니다.