React 필수 기능 - useEffectEvent (React 19.2 신기능)
useEffectEvent는 React 19.2에 추가된 신기능으로, 기존 useEffect의 고질적인 의존성 딜레마를 해결합니다. 🆕
- 기존
useEffect는 의도치 않은 의존성(예: 테마) 때문에 불필요하게 재실행되거나, 의존성에서 제외 시 오래된 상태를 참조하는 문제가 있었습니다. 🤯
- 예를 들어, 채팅방 연결 로직에서
roomId 변경 시에만 재연결되어야 하지만, theme가 의존성에 포함되면 theme 변경 시에도 재연결되는 비효율이 발생했습니다. 🔄
useEffectEvent를 사용하면 useEffect의 의존성 배열에 핵심 비즈니스 로직(예: roomId)만 포함시키고, 최신 상태/프롭스가 필요한 로직은 useEffectEvent 내부에서 처리할 수 있습니다. ✨
useEffectEvent 내의 코드는 항상 최신 상태를 참조하므로, 불필요한 의존성 추가 없이 깔끔하고 의도에 맞는 useEffect 로직 구현이 가능해집니다. 🎯