Skip to content

useDocumentVisibility

Tracks document.visibilityState.

Tracks document.visibilityState.

Import

import { useDocumentVisibility } from '@kamod-ch/hooks'

Live demo

Basic demo

Tracks document.visibilityState.

Browser-only demo

This demo starts after the page mounts in the browser.
import { useDocumentVisibility } from '@kamod-ch/hooks'

export default function UseDocumentVisibilityDemo() {
  const visibility = useDocumentVisibility()
  return <p><strong>document.visibilityState:</strong> {visibility ?? 'unsupported'}</p>
}

API

TypeScript signature
type VisibilityState = 'hidden' | 'visible' | 'prerender' | undefined;
declare function useDocumentVisibility(): VisibilityState;
export default useDocumentVisibility;
/

SSR considerations

This hook touches browser APIs. Render it after mount or guard it with BrowserOnly in SSR and static builds.

Browser compatibility

Requires the corresponding browser API to exist in the current environment.