Skip to content

usePreservedCallback ​

usePreservedCallback es un Hook de React que mantiene una referencia estable a un callback y garantiza que siempre tenga acceso al estado o las props más recientes. Esto evita renderizados innecesarios y simplifica la gestión de dependencias cuando pasas callbacks a componentes hijos o gestionas escuchas de eventos.

Interfaz ​

ts
function usePreservedCallback<
  Arguments extends any[] = any[],
  ReturnValue = unknown,
>(callback: (...args: any[]) => any): (...args: any[]) => any;

Parámetros ​

  • callbackrequired · (...args: any[]) => any

    La función que quieres preservar. Siempre hace referencia al estado o las props más recientes, incluso cuando el componente vuelve a renderizarse.

Valor de retorno ​

  • (...args: any[]) => any

    Una función con la misma firma que el callback de entrada. La función devuelta mantiene una referencia estable y accede al estado o las props más recientes.

Ejemplo ​

tsx
import { usePreservedCallback } from 'react-simplikit';
import { useState } from 'react';

function Counter() {
  const [count, setCount] = useState(0);

  const handleClick = usePreservedCallback(() => {
    console.log(`Contador actual: ${count}`);
    setCount(prev => prev + 1);
  });

  return <button onClick={handleClick}>Haz clic aquí</button>;
}

Publicado bajo la licencia MIT.