Der FocusManager verwaltet den Fokusstatus innerhalb von TanStack Query.
Er kann verwendet werden, um die Standard-Event-Listener zu ändern oder den Fokusstatus manuell zu ändern.
Ihre verfügbaren Methoden sind
setEventListener kann verwendet werden, um einen benutzerdefinierten Event-Listener festzulegen.
import { focusManager } from '@tanstack/react-query'
focusManager.setEventListener((handleFocus) => {
// Listen to visibilitychange
if (typeof window !== 'undefined' && window.addEventListener) {
window.addEventListener('visibilitychange', handleFocus, false)
}
return () => {
// Be sure to unsubscribe if a new handler is set
window.removeEventListener('visibilitychange', handleFocus)
}
})
import { focusManager } from '@tanstack/react-query'
focusManager.setEventListener((handleFocus) => {
// Listen to visibilitychange
if (typeof window !== 'undefined' && window.addEventListener) {
window.addEventListener('visibilitychange', handleFocus, false)
}
return () => {
// Be sure to unsubscribe if a new handler is set
window.removeEventListener('visibilitychange', handleFocus)
}
})
subscribe kann verwendet werden, um Änderungen des Sichtbarkeitsstatus zu abonnieren. Es gibt eine Funktion zum Abbestellen zurück.
import { focusManager } from '@tanstack/react-query'
const unsubscribe = focusManager.subscribe((isVisible) => {
console.log('isVisible', isVisible)
})
import { focusManager } from '@tanstack/react-query'
const unsubscribe = focusManager.subscribe((isVisible) => {
console.log('isVisible', isVisible)
})
setFocused kann verwendet werden, um den Fokusstatus manuell festzulegen. Setzen Sie undefined, um auf die Standard-Fokusprüfung zurückzufallen.
import { focusManager } from '@tanstack/react-query'
// Set focused
focusManager.setFocused(true)
// Set unfocused
focusManager.setFocused(false)
// Fallback to the default focus check
focusManager.setFocused(undefined)
import { focusManager } from '@tanstack/react-query'
// Set focused
focusManager.setFocused(true)
// Set unfocused
focusManager.setFocused(false)
// Fallback to the default focus check
focusManager.setFocused(undefined)
Optionen
isFocused kann verwendet werden, um den aktuellen Fokusstatus abzurufen.
const isFocused = focusManager.isFocused()
const isFocused = focusManager.isFocused()