Skip to Content
⭐️ Leave a star →
HooksuseDocumentVisibility

useDocumentVisibility

Subscribes to the visibilitychange event and returns the current document.visibilityState. SSR-safe — returns 'visible' on the server.

Use it to pause polling, animations, or audio while the tab is in the background.

import { useEffect } from 'react' import { useDocumentVisibility } from '@wire-ui/react' function Polling() { const visibility = useDocumentVisibility() useEffect(() => { if (visibility !== 'visible') return const id = setInterval(refresh, 5000) return () => clearInterval(id) }, [visibility]) return null }

Returns

'visible' | 'hidden' — backed by useSyncExternalStore for tear-free updates.
Last updated on

MIT License © 2026 wire-ui

useDocumentVisibility – Wire UI