# Hookipedia ## Getting Started - [Introduction](/docs/introduction): Discover Hookipedia, a curated encyclopedia of custom React hooks. Find production-ready logic, in-depth documentation, and real-world examples in one place. - [Motivation](/docs/motivation): Why Hookipedia? Learn how we’re closing the gap between finding a React hook and trusting it in production with curated, high-quality documentation. - [Usage](/docs/usage): Learn how to use Hookipedia effectively. Discover our standard hook layout, integration steps, and how to implement production-ready logic in your project. ## Handbook - [Hooks Directory](/docs/handbook/hooks-directory): Explore the Hookipedia collection of high-performance, production-ready React hooks designed for modern web development. ## Hooks - [useAbortableEffect](/docs/hooks/use-abortable-effect): A React hook that provides automatic cleanup for asynchronous effects using AbortController. - [useClipboard](/docs/hooks/use-clipboard): A reactive interface for the Clipboard API with automatic state resetting, SSR safety, and optimized timer management for a seamless "Copy to Clipboard" UX. - [useComposedRefs](/docs/hooks/use-composed-refs): A high-performance React hook that merges multiple refs into a single callback ref, supporting both RefObjects and the new React 19 cleanup functions. - [useControllableState](/docs/hooks/use-controllable-state): A React hook that implements the controlled component pattern for any state value, allowing components to seamlessly support both parent-controlled and self-managed state modes without API duplication. - [useDebouncedState](/docs/hooks/use-debounced-state): A high-performance React hook for managing debounced state updates in uncontrolled components, ideal for minimizing expensive operations like API calls and heavy re-renders. - [useDebouncedValue](/docs/hooks/use-debounced-value): A React hook for debouncing controlled values. It synchronizes with an existing state to delay downstream effects like API calls, ensuring a fluid UI while optimizing resource usage. - [useEventListener](/docs/hooks/use-event-listener): A declarative React hook for managing DOM event listeners with support for React Refs, window/document strings, and automatic cleanup to prevent memory leaks. - [useForcedRerendering](/docs/hooks/use-forced-rendering): A utility hook that returns a stable function to manually trigger a component re-render, useful for synchronizing with non-reactive external state. - [useIntersection](/docs/hooks/use-intersection): A high-performance visibility tracker using the Intersection Observer API with global observer pooling and requestIdleCallback fallbacks. - [useInterval](/docs/hooks/use-interval): A declarative React hook for setInterval that handles stale closures and dynamic delays without resetting timers. SSR-safe with automatic cleanup. - [useIsClient](/docs/hooks/use-is-client): A high-performance synchronization hook that identifies the client environment using useSyncExternalStore to prevent hydration mismatches and flickering. - [useIsoLayoutEffect](/docs/hooks/use-iso-layout-effect): A React hook that automatically chooses between useLayoutEffect and useEffect, solving hydration warnings in isomorphic applications like Next.js. - [useMap](/docs/hooks/use-map): A powerful, reactive wrapper for the JavaScript Map object. It manages internal state transitions to ensure your UI updates seamlessly when entries change. - [useMediaQuery](/docs/hooks/use-media-query): A React hook that provides reactive, SSR-safe media query detection with global listener optimization, built on the useSyncExternalStore API for optimal performance. - [useOnMount](/docs/hooks/use-on-mount): A semantic, SSR-safe hook to execute code exactly once during component mount. Eliminates the ambiguity of empty dependency arrays and prevents linter noise. - [usePageVisibility](/docs/hooks/use-page-visibility): A high-performance React hook that tracks document visibility status. - [usePrefersReducedMotion](/docs/hooks/use-prefers-reduced-motion): A React hook for detecting user motion preferences via the prefers-reduced-motion media query, optimized for performance and SSR safety using useSyncExternalStore. - [usePreviousValue](/docs/hooks/use-previous-value): A React hook that tracks the previous state of a value across renders, leveraging render-phase state updates for synchronization. - [useRefWithInit](/docs/hooks/use-ref-with-init): A performance-optimized useRef alternative that supports lazy initialization, preventing unnecessary object creation on every re-render. - [useSet](/docs/hooks/use-set): A reactive wrapper for the JavaScript Set object. It provides an immutable API for managing unique collections while ensuring optimal re-renders. - [useStateWithHistory](/docs/hooks/use-state-with-history): A powerful React state hook that tracks value changes over time, providing built-in undo, redo, and history-limiting capabilities for complex UI workflows. - [useTimeout](/docs/hooks/use-timeout): A declarative React hook for setTimeout that handles stale closures, dynamic delays, and automatic cleanup to prevent memory leaks in React components.