Added useApi hook.

This commit is contained in:
Mike Cao 2022-02-22 23:52:31 -08:00
parent 7bd49e6caf
commit d19b6b5a82
22 changed files with 59 additions and 59 deletions

25
hooks/useApi.js Normal file
View file

@ -0,0 +1,25 @@
import { useCallback } from 'react';
import { useRouter } from 'next/router';
import { get, post, put, del } from 'lib/web';
export default function useApi() {
const { basePath } = useRouter();
return {
get: useCallback(async (url, params, headers) => {
return get(`${basePath}/api/${url}`, params, headers);
}, []),
post: useCallback(async (url, params, headers) => {
return post(`${basePath}/api/${url}`, params, headers);
}, []),
put: useCallback(async (url, params, headers) => {
return put(`${basePath}/api/${url}`, params, headers);
}, []),
del: useCallback(async (url, params, headers) => {
return del(`${basePath}/api/${url}`, params, headers);
}, []),
};
}