How I Think About useEffectEvent After React 19.2
For a long time, many React teams have had the same uncomfortable pattern in their codebases. An Effect sets up a subscription, but inside that subscription callback we also read props and state that are not part of the subscription itself. That creates a mismatch between what the Effect depends on and what the callback wants to see.
useEffectEvent helps solve that problem by making the event-like part explicit. The subscription logic can stay inside the Effect, while the callback that needs fresh values can live in a separate Effect Event. That means fewer unnecessary reconnects, cleaner dependency arrays, and fewer lint workarounds.
I like this API because it pushes teams toward better architecture rather than just saving a few rerenders. When a codebase starts separating events from synchronization, debugging becomes easier and refactors become much safer.