The FocusManager
manages the focus state within React Query.
It can be used to change the default event listeners or to manually change the focus state.
Its available methods are:
focusManager.setEventListener
setEventListener
can be used to set a custom event listener:
import { focusManager } from 'react-query'focusManager.setEventListener(handleFocus => {// Listen to visibilitychange and focusif (typeof window !== 'undefined' && window.addEventListener) {window.addEventListener('visibilitychange', handleFocus, false)window.addEventListener('focus', handleFocus, false)}return () => {// Be sure to unsubscribe if a new handler is setwindow.removeEventListener('visibilitychange', handleFocus)window.removeEventListener('focus', handleFocus)}})
focusManager.setFocused
setFocused
can be used to manually set the focus state. Set undefined
to fallback to the default focus check.
import { focusManager } from 'react-query'// Set focusedfocusManager.setFocused(true)// Set unfocusedfocusManager.setFocused(false)// Fallback to the default focus checkfocusManager.setFocused(undefined)
Options
focused: boolean | undefined
focusManager.isFocused
isFocused
can be used to get the current focus state.
const isFocused = focusManager.isFocused()
The best JavaScript newsletter! Delivered every Monday to over 76,000 devs.