React Dojo

Buscar

Busca conceptos, ejercicios y quizzes

Hook · Experimental

useEffectEvent

Lógica no reactiva dentro de efectos

useEffectEvent extrae lógica que debe correr dentro de un efecto pero no debe dispararlo de nuevo cuando cambia. Rompe la tensión entre 'necesito leer este valor' y 'no quiero que el efecto dependa de él'.

El problema

Un efecto que abre una conexión no debe re-abrirla cada vez que cambia el mensaje de log — pero si usas el log dentro del efecto, React exige que lo incluyas en las dependencias y eso causa reconexiones innecesarias.

La solución

Envuelve la lógica no reactiva en un useEffectEvent. La función resultante puede llamarse desde el efecto sin ser una dependencia de él. Aún experimental en React 19: importar como experimental_useEffectEvent.

Tropiezos comunes

  • 01useEffectEvent es experimental — importar como experimental_useEffectEvent. La API puede cambiar sin aviso.
  • 02No pases la función del evento como prop ni la retornes desde un hook — úsala solo dentro del efecto.
  • 03No la llames fuera de un efecto; está diseñada exclusivamente para ese contexto.
¿Fue útil?
Inicia sesión para dar feedback