Files
automatisch/packages/web/src/hooks/useLazyApps.js
2024-03-15 17:27:48 +03:00

31 lines
700 B
JavaScript

import { useMutation } from '@tanstack/react-query';
import api from 'helpers/api';
import React from 'react';
export default function useLazyApps({ appName } = {}, { onSuccess } = {}) {
const abortControllerRef = React.useRef(new AbortController());
React.useEffect(() => {
abortControllerRef.current = new AbortController();
return () => {
abortControllerRef.current?.abort();
};
}, [appName]);
const query = useMutation({
mutationFn: async () => {
const { data } = await api.get('/v1/apps', {
params: { name: appName },
signal: abortControllerRef.current.signal,
});
return data;
},
onSuccess,
});
return query;
}