26 lines
733 B
JavaScript
26 lines
733 B
JavaScript
![]() |
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);
|
||
|
}, []),
|
||
|
};
|
||
|
}
|