1
Fork 0
mirror of https://github.com/pds-nest/nest.git synced 2024-11-22 13:04:19 +00:00
pds-2021-g2-nest/nest_frontend/hooks/useBackendImmediately.js

29 lines
909 B
JavaScript

import useBackend from "./useBackend"
import { useEffect } from "react"
/**
* Like {@link useBackend}, but runs as soon as the component is rendered.
*
* @param fetchData - The function to use when fetching data.
* @param method - The HTTP method to use.
* @param path - The HTTP path to fetch the data at.
* @param body - The body of the HTTP request (it will be JSONified before being sent).
* @param init - Additional `init` parameters to pass to `fetch`.
*/
export default function useBackendImmediately(fetchData, method, path, body, init) {
const { data, error, loading, fetchNow } = useBackend(fetchData, method, path, body, init)
useEffect(
() => {
if(!(
loading || data || error
)) {
fetchNow()
}
},
[data, error, loading, fetchNow],
)
return { data, error, loading, fetchNow }
}