Fetch when the tab is focused

You can use useVisible to fetch a resource when the tab is focused.

useVisible(query)

Example

function useAutoFetchMixture(query: Query) {
useFetch(query)
useVisible(query)
useOnline(query)
}

Implementation

export function useVisible(query: Query) {
const { fetch } = query
useEffect(() => {
const f = () => !document.hidden && fetch()
document.addEventListener("visibilitychange", f)
return () => document.removeEventListener("visibilitychange", f)
}, [fetch])
}

See also

  • useOnline - fetch when the browser becomes online