Saltearse al contenido

Como añadir tipos a useGetData

Al usar el hook useGetData la variable data no contiene definido los tipos, por lo que, es necesario añadirlos manualmente.

Extendiendo la interfaz por defecto

  1. Para extender la interfaz por defecto primero de debe importar dicha interfaz:
    import { getDataInterface, useGetData } from "@hooks/useGetData";
  2. Despues importa la interfaz correspondiente a la consulta del archivo interfaces (si aún no lo has creado, creala):
    import { reporteChecklistInterface } from "@assets/interfaces";
  3. Extiende la interfaz:
    interface reporte extends getDataInterface {
    data: { response: reporteChecklistInterface[] };
    } /*En este caso se extiende como un array de objetos*/
  4. Asigna la interfaz al hook:
    const { data, isError, isPending, refetch }: reporte = useGetData(
    "bomba-check","reporteCheckData"
    );

Ahora data tiene todas las propiedades definidas en la interfaz.

Resumen

ejemplo.tsx
import { getDataInterface, useGetData } from "@hooks/useGetData";
import { reporteChecklistInterface } from "@assets/interfaces";
interface reporte extends getDataInterface {
data: { response: reporteChecklistInterface[] };
}
const { data, isError, isPending, refetch }: reporte = useGetData(
"bomba-check","reporteCheckData"
);