# Preact ## Docs - [Introduction to Preact](https://mintlify.wiki/preactjs/preact/introduction.md): Fast 4kB alternative to React with the same modern API - [Installation](https://mintlify.wiki/preactjs/preact/installation.md): Learn how to install and set up Preact in your project - [Quick start](https://mintlify.wiki/preactjs/preact/quickstart.md): Build your first Preact application in minutes - [Components](https://mintlify.wiki/preactjs/preact/concepts/components.md): Learn about Preact components, including functional and class-based components, props, and state management - [Virtual DOM](https://mintlify.wiki/preactjs/preact/concepts/virtual-dom.md): Understand Preact's Virtual DOM implementation and how it efficiently updates the real DOM - [JSX](https://mintlify.wiki/preactjs/preact/concepts/jsx.md): Learn how to use JSX syntax with Preact and configure your build tools - [Rendering](https://mintlify.wiki/preactjs/preact/concepts/rendering.md): Learn how to render Preact components to the DOM and hydrate server-rendered content - [Lifecycle methods](https://mintlify.wiki/preactjs/preact/concepts/lifecycle.md): Learn about component lifecycle methods and when each method is called during a component's lifetime - [Working with Hooks](https://mintlify.wiki/preactjs/preact/guides/working-with-hooks.md): A comprehensive guide to using React Hooks in Preact - [Context API](https://mintlify.wiki/preactjs/preact/guides/context.md): Share data across your component tree without prop drilling - [Refs](https://mintlify.wiki/preactjs/preact/guides/refs.md): Access DOM nodes and persist values across renders - [Fragments](https://mintlify.wiki/preactjs/preact/guides/fragments.md): Return multiple elements from a component without adding extra DOM nodes - [Server-Side Rendering (SSR)](https://mintlify.wiki/preactjs/preact/guides/server-side-rendering.md): Render Preact components on the server for better performance and SEO - [TypeScript](https://mintlify.wiki/preactjs/preact/guides/typescript.md): Use Preact with TypeScript for type safety and better developer experience - [Preact Compat Overview](https://mintlify.wiki/preactjs/preact/compat/overview.md): Drop-in React compatibility layer for Preact - [Migrating from React to Preact](https://mintlify.wiki/preactjs/preact/compat/migration-from-react.md): Step-by-step guide to migrate your React application to Preact - [React vs Preact Differences](https://mintlify.wiki/preactjs/preact/compat/differences.md): Key differences between React and Preact when using the compat layer - [Debugging](https://mintlify.wiki/preactjs/preact/advanced/debugging.md): Learn how to debug Preact applications with preact/debug and enable helpful error messages and warnings - [Preact DevTools](https://mintlify.wiki/preactjs/preact/advanced/devtools.md): Debug Preact applications with browser DevTools extension for component inspection and profiling - [Options API](https://mintlify.wiki/preactjs/preact/advanced/options-api.md): Extend and customize Preact's behavior using the options hooks system - [Testing](https://mintlify.wiki/preactjs/preact/advanced/testing.md): Testing utilities and patterns for Preact applications with preact/test-utils - [render](https://mintlify.wiki/preactjs/preact/api/render.md): Render a Preact virtual node into a DOM element - [hydrate](https://mintlify.wiki/preactjs/preact/api/hydrate.md): Attach Preact to existing server-rendered markup - [h](https://mintlify.wiki/preactjs/preact/api/h.md): Create Preact virtual nodes (alias for createElement) - [createElement](https://mintlify.wiki/preactjs/preact/api/create-element.md): Create Preact virtual nodes (React-compatible API) - [Component](https://mintlify.wiki/preactjs/preact/api/component.md): Base class for stateful Preact components - [Fragment](https://mintlify.wiki/preactjs/preact/api/fragment.md): Render multiple children without a wrapper element - [createContext](https://mintlify.wiki/preactjs/preact/api/create-context.md): Create a Context for passing data through the component tree - [createRef](https://mintlify.wiki/preactjs/preact/api/create-ref.md): Create a ref object for accessing DOM nodes or component instances - [cloneElement](https://mintlify.wiki/preactjs/preact/api/clone-element.md): Clone and modify a Preact virtual node - [useState](https://mintlify.wiki/preactjs/preact/api/hooks/use-state.md): Returns a stateful value and a function to update it - [useEffect](https://mintlify.wiki/preactjs/preact/api/hooks/use-effect.md): Accepts a function that contains imperative, possibly effectful code - [useLayoutEffect](https://mintlify.wiki/preactjs/preact/api/hooks/use-layout-effect.md): Synchronous effect that runs before browser paint - [useReducer](https://mintlify.wiki/preactjs/preact/api/hooks/use-reducer.md): An alternative to useState for complex state logic - [useContext](https://mintlify.wiki/preactjs/preact/api/hooks/use-context.md): Returns the current value for a context - [useRef](https://mintlify.wiki/preactjs/preact/api/hooks/use-ref.md): Returns a mutable ref object that persists for the component's lifetime - [useMemo](https://mintlify.wiki/preactjs/preact/api/hooks/use-memo.md): Returns a memoized value that only recomputes when dependencies change - [useCallback](https://mintlify.wiki/preactjs/preact/api/hooks/use-callback.md): Returns a memoized callback function - [useImperativeHandle](https://mintlify.wiki/preactjs/preact/api/hooks/use-imperative-handle.md): Customizes the instance value exposed to parent components when using refs - [useDebugValue](https://mintlify.wiki/preactjs/preact/api/hooks/use-debug-value.md): Displays a custom label for custom hooks in browser devtools - [useErrorBoundary](https://mintlify.wiki/preactjs/preact/api/hooks/use-error-boundary.md): Catches errors in child components and provides error handling - [useId](https://mintlify.wiki/preactjs/preact/api/hooks/use-id.md): Generates a unique ID that is stable across server and client renders - [Compat API Overview](https://mintlify.wiki/preactjs/preact/api/compat/overview.md): React compatibility layer for Preact - drop-in replacement for React with the same API - [forwardRef](https://mintlify.wiki/preactjs/preact/api/compat/forward-ref.md): Pass refs down to child components in Preact with forwardRef - [memo](https://mintlify.wiki/preactjs/preact/api/compat/memo.md): Memoize functional components in Preact to optimize rendering performance - [PureComponent](https://mintlify.wiki/preactjs/preact/api/compat/pure-component.md): React PureComponent in Preact - component class with automatic shallow prop/state comparison - [Suspense](https://mintlify.wiki/preactjs/preact/api/compat/suspense.md): Suspend rendering while loading async data with Suspense and lazy in Preact - [Children](https://mintlify.wiki/preactjs/preact/api/compat/children.md): Utilities for working with the children prop in Preact components - [createPortal](https://mintlify.wiki/preactjs/preact/api/compat/portals.md): Render children into a different DOM node with createPortal in Preact - [Test utils overview](https://mintlify.wiki/preactjs/preact/api/test-utils/overview.md): Testing utilities for Preact components - [act](https://mintlify.wiki/preactjs/preact/api/test-utils/setup-scratch.md): Flush effects and renders in test code - [setupRerender](https://mintlify.wiki/preactjs/preact/api/test-utils/setup-rerender.md): Enable synchronous rendering for testing