Estoy usando react-query y tengo muchos ganchos useQuery que aceptan estos parámetros:
export interface UseQueryHookProps<K> { client: K; isEnabled?: boolean; }¿Cómo escribiría la interfaz para que sea más genérica para aceptar cualquier interfaz adicional o más bien desconocida?
Así que algo como esto:
export interface UseQueryHookProps<K, T> extends T { client: K; isEnabled?: boolean; } Donde se llamaría a UseQueryHookProps :
export const useGetJob = ({ client: monitoringService, isEnabled = true, jobId, }: UseQueryHookProps<MonitoringServiceClient, {jobId: string}>)No estoy seguro de cómo escribir esto?
No se le permite ampliar la interfaz con T . Para hacer eso, T debe conocerse estáticamente.
Si desea extender UseQueryHookProps con T , debe usar la sintaxis de type en lugar de interface .
export interface UseQueryHookProps<K> { client: K; isEnabled?: boolean; } type ExtendHookProps<K, T> = UseQueryHookProps<K> & T interface MonitoringServiceClient { tag: 'MonitoringServiceClient' } export const useGetJob = ({ client: monitoringService, isEnabled = true, jobId, }: ExtendHookProps<MonitoringServiceClient, { jobId: string }>) => { }