Я работаю над проектом с использованием React и response-hooks. Я пытаюсь вызвать метод после того, как сервер вернет ответ. В настоящее время я использую библиотеку Axios-hooks для React, чтобы совершать вызовы:
export const useDataFromServer = (dataObjectId) => {
return useAxios(
{
url: `/data/${dataObjectId}`,
method: 'GET',
},
{
manual: manual,
}
);
}
Я пытаюсь реализовать свой собственный обработчик, чтобы обернуть вызов useAxios, так как я не смог найти какой-либоспособ сделать это из документации useAxios: https://www.npmjs.com/package/axios-hooks:
export function useAxiosWithResponseCallback(config, options, callback) {
const [isCallbackCalled, setIsCallbackCalled] = useState(false);
const [axiosState, execute] = useAxios(config, options);
useEffect(()=>{
if (axiosState.loading) {
setIsCallbackCalled(false);
} else {
if (!isCallbackCalled) {
if (callback && typeof callback == 'function') {
callback([axiosState, execute]);
}
setIsCallbackCalled(true);
}
}
}, [
axiosState,
isCallbackCalled,
callback,
]);
return [
axiosState,
execute,
];
}
, но я не уверен, будет ли это работать во всех случаях.
Любая помощь с благодарностью!