# gaearon/react-hot-loader

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/gaearon-react-hot-loader).**

12,175 stars · 779 forks · JavaScript · MIT

## Links

- GitHub: https://github.com/gaearon/react-hot-loader
- Homepage: http://gaearon.github.io/react-hot-loader/
- awesome-repositories: https://awesome-repositories.com/repository/gaearon-react-hot-loader.md

## Description

react-hot-loader is a developer utility for updating React components and hooks in real time. It functions as a state-preserving UI updater that wraps components in proxies, allowing the underlying logic to be replaced without unmounting the component tree.

The tool maintains internal application state across hot module updates by swapping component logic while keeping the mount point constant. It includes mechanisms to intercept rendering errors during updates through temporary error boundaries and manages hook-order validation to prevent state mismatches when functional hooks change.

The project integrates with module bundlers to automate the injection of hot replacement logic. Its capability surface covers real-time updates for lazy-loaded and code-split components, module replacement diagnostics, and the ability to exclude specific components from the reloading process.

## Tags

### Development Tools & Productivity

- [Real-Time Runtime Updates](https://awesome-repositories.com/f/development-tools-productivity/configuration-updates/real-time-runtime-updates.md) — Provides real-time updates for user interface components while preserving internal state and mount points. ([source](https://github.com/gaearon/react-hot-loader#readme))
- [Hot Reloading Tools](https://awesome-repositories.com/f/development-tools-productivity/hot-reloading-tools.md) — Provides a comprehensive utility for live code injection and state preservation during React development.
- [Hot Code Reloading](https://awesome-repositories.com/f/development-tools-productivity/hot-code-reloading.md) — Enables an iterative development workflow where UI changes are reflected instantly without page refreshes.
- [Hot Module Replacement](https://awesome-repositories.com/f/development-tools-productivity/platforms-runtimes-language-services/hot-module-replacement.md) — Integrates with module bundlers to inject hot replacement logic for real-time module updates.
- [Hook Runtime Updates](https://awesome-repositories.com/f/development-tools-productivity/platforms-runtimes-language-services/hot-module-replacement/hook-runtime-updates.md) — Refreshes functional component hooks when dependencies or function bodies change during hot replacement. ([source](https://github.com/gaearon/react-hot-loader#readme))
- [Code-Split Update Support](https://awesome-repositories.com/f/development-tools-productivity/hot-code-reloading/code-split-update-support.md) — Ensures components loaded via lazy loading or code splitting boundaries are updated correctly during hot replacement. ([source](https://github.com/gaearon/react-hot-loader#readme))
- [Proxy Type Validation](https://awesome-repositories.com/f/development-tools-productivity/hot-reloading/proxy-type-validation.md) — Compares proxied components to determine if they share the same type while ignoring reference changes from reloading. ([source](https://github.com/gaearon/react-hot-loader#readme))
- [Update Error Interception](https://awesome-repositories.com/f/development-tools-productivity/hot-reloading/update-error-interception.md) — Intercepts rendering errors during hot updates to prevent the entire application from crashing due to bugs. ([source](https://github.com/gaearon/react-hot-loader/blob/master/CHANGELOG.md))
- [Build Tool Integrations](https://awesome-repositories.com/f/development-tools-productivity/workflow-automation-tools/build-task-automation/build-tool-integrations.md) — Provides plugins and loaders to automate the injection of hot replacement logic during the build process. ([source](https://github.com/gaearon/react-hot-loader/blob/master/CHANGELOG.md))

### Software Engineering & Architecture

- [Component Proxies](https://awesome-repositories.com/f/software-engineering-architecture/asset-wrapping-modules/component-proxies.md) — Wraps components in proxies to maintain a stable mount point while updating the underlying implementation.
- [HMR Proxies](https://awesome-repositories.com/f/software-engineering-architecture/asset-wrapping-modules/component-proxies/hmr-proxies.md) — Wraps components in proxies to replace underlying logic without unmounting the component tree.
- [Error Boundaries](https://awesome-repositories.com/f/software-engineering-architecture/error-boundaries.md) — Implements temporary error boundaries to isolate failures during hot updates and prevent application crashes.

### User Interface & Experience

- [Hot-Reload State Preservation](https://awesome-repositories.com/f/user-interface-experience/ui-state-preservation/hot-reload-state-preservation.md) — Maintains internal application state across hot module updates by swapping component logic without unmounting the tree.
- [UI State Preservation](https://awesome-repositories.com/f/user-interface-experience/ui-state-preservation.md) — Implements techniques to preserve the internal state of UI components while they are being updated in real time.

### Web Development

- [State-Preserving Logic Swapping](https://awesome-repositories.com/f/web-development/frontend-development-tools/state-data-management/component-lifecycle-utilities/state-preservation-controls/state-preserving-logic-swapping.md) — Maintains internal application state by swapping component logic without unmounting the component tree.
- [Hook Order Validation](https://awesome-repositories.com/f/web-development/state-management-hooks/call-order-state-hooks/hook-order-validation.md) — Forces component remounting when hook sequences change to prevent state mismatches in functional components.
- [Hook Sequence Synchronization](https://awesome-repositories.com/f/web-development/state-management-hooks/call-order-state-hooks/hook-sequence-synchronization.md) — Triggers a local tree remount when hook order changes to prevent state mismatches between versions. ([source](https://github.com/gaearon/react-hot-loader#readme))

### Programming Languages & Runtimes

- [Reference-Agnostic Comparisons](https://awesome-repositories.com/f/programming-languages-runtimes/programming-language-varieties/programming-languages/type-systems/memory-safety-and-value-semantics/reference-types/reference-agnostic-comparisons.md) — Determines if components share the same type by ignoring reference changes caused by hot reloading.

### Testing & Quality Assurance

- [Hot-Reload Error Overlays](https://awesome-repositories.com/f/testing-quality-assurance/hot-reload-error-overlays.md) — Injects local error boundaries during updates and displays a global error overlay for reporting. ([source](https://github.com/gaearon/react-hot-loader/blob/master/README.md))
