# React Intersection Observer

> React hooks and components for the Intersection Observer API. Scroll animations, lazy loading, impressions, and infinite scroll.

## Docs

- [Overview](/overview): React hooks and components that tell you when an element enters or leaves the viewport or a scroll container.

## API

- [Core APIs](/api/core-apis): Choose and use the three React APIs for observing elements.
- [Observer options](/api/configuration): Decide when observation should trigger, where it should happen, and how long it should run.

## Guides

- [Recipes](/guides/recipes): Complete visibility-aware React patterns built with react-intersection-observer.
- [SSR and fallbacks](/guides/ssr): Separate server-rendered state, unsupported browsers, hydration, and application fallback policy.
- [Observer v2](/guides/intersection-observer-v2): Use trackVisibility only when intersection alone is not enough and you accept narrower browser support.

## Testing

- [Testing](/testing): Choose the test layer that matches the behavior you need to prove.
- [Browser Mode](/testing/browser-mode): Use Vitest Browser Mode to test real scrolling, layout, focus, and native Intersection Observer behavior.
- [Mock intersections](/testing/mocking-intersections): Drive deterministic observer callbacks and thresholds in Vitest, Jest, or another DOM-capable test runner.

## Agent resources

- [llms-full.txt](/llms-full.txt): The full Markdown of every page in one file.
- [Page Markdown](/index.md): Append `.md` to any page URL to fetch that page as raw Markdown.
- [JSON API](/api/docs/pages.json): Page index of the JSON docs API; each entry links the page's JSON and Markdown forms. Described by the OpenAPI document at /openapi.json.
- [API catalog](/.well-known/api-catalog): RFC 9727 linkset of the APIs documented here.
- [agent-readability.json](/agent-readability.json): Manifest of every agent-facing artifact on this site.
