Skip to content

useIsomorphicLayoutEffect ​

useIsomorphicLayoutEffect es un Hook de React que ejecuta useLayoutEffect en el navegador sin generar su advertencia durante el renderizado en el servidor (SSR). Durante el SSR, no hay un DOM que puedas medir o modificar de forma síncrona, por lo que, en React 18 y versiones anteriores, usar useLayoutEffect genera una advertencia. El efecto solo se ejecuta en el navegador. Este Hook solo evita la advertencia y no hace que la salida del servidor coincida con la del cliente. React 19 ya no muestra la advertencia, así que en React 19 puedes usar useLayoutEffect directamente.

En el navegador, se ejecuta de forma síncrona después de las actualizaciones del DOM, pero antes de que el navegador pinte la pantalla, lo que lo hace ideal para:

  • Medir elementos del DOM después del renderizado
  • Aplicar cambios al DOM antes de que el navegador pinte la pantalla
  • Evitar parpadeos en la interfaz o cambios en la disposición de los elementos

Interfaz ​

ts
function useIsomorphicLayoutEffect(
  effect: React.EffectCallback,
  deps?: React.DependencyList
): void;

Parámetros ​

  • effectrequired · React.EffectCallback

    La función del efecto.

  • depsReact.DependencyList

    Un arreglo opcional de dependencias.

Valor de retorno ​

Esta función no devuelve ningún valor.

Ejemplo ​

tsx
useIsomorphicLayoutEffect(() => {
  // Código que se ejecuta durante la fase de disposición de los elementos en el cliente
}, [dep1, dep2, ...]);

Publicado bajo la licencia MIT.