2025-04-24 13:11:28 +08:00

20 lines
446 B
TypeScript

import { useLayoutEffect } from 'react'
import fetchMock from 'fetch-mock'
/**
* Run callback to mock fetch routes, call removeRoutes() and unmockGlobal() when unmounted
*/
export default function useFetchMock(
callback: (value: typeof fetchMock) => void
) {
fetchMock.mockGlobal()
useLayoutEffect(() => {
callback(fetchMock)
return () => {
fetchMock.removeRoutes()
fetchMock.unmockGlobal()
}
}, [callback])
}