whatisgithub

What is react-hot-loader?

gaearon/react-hot-loader — explained in plain English

Analysis updated 2026-06-24

12,177JavaScriptAudience · developerComplexity · 2/5Setup · moderate

In one sentence

React Hot Loader was a development tool that let you edit React components and see changes instantly in the browser without losing page state, it is now deprecated in favor of React Fast Refresh.

Mindmap

mindmap
  root((React Hot Loader))
    What it did
      Hot reload components
      Preserve page state
      No full refresh
    Status
      Deprecated
      Use Fast Refresh
    Old Setup
      Babel plugin
      hot wrapper
    Known Limits
      Constructor changes
      Mounted components
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Migrate an existing React project off react-hot-loader to React Fast Refresh to get supported, modern hot-reload behavior.

USE CASE 2

Understand why hot-reloading in an older React codebase stopped working and what the recommended replacement is.

What is it built with?

JavaScriptReactBabelwebpack

How does it compare?

gaearon/react-hot-loaderwanglin2/mind-mapreact-dates/react-dates
Stars12,17712,17612,196
LanguageJavaScriptJavaScriptJavaScript
Setup difficultymoderateeasyeasy
Complexity2/52/52/5
Audiencedevelopergeneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Project is deprecated, migrate to React Fast Refresh rather than adding react-hot-loader to a new project.

No license information is provided in the explanation.

So what is it?

React Hot Loader was a tool for developers building web apps with React, a popular JavaScript library for creating user interfaces. Normally, when you change code during development, the browser refreshes and you lose whatever you were doing, such as the text you typed into a form or which tab you had open. This tool let you edit your components and see the result update instantly in the browser without a full refresh, preserving that in-progress state. The project is now officially deprecated. The README recommends removing it and switching to React Fast Refresh, which is a newer solution built more directly into the tools most developers already use. React Native has supported Fast Refresh since version 0.61, webpack has a plugin for it, and create-react-app and Next.js both include it by default in recent versions. For projects still using it, setup involved three steps: adding a Babel plugin to your project configuration, wrapping your top-level app component with a helper called hot, and making sure the library loaded before React itself. Babel is a tool that transforms JavaScript code, and this plugin was what allowed the hot-reload magic to work. There was also an optional patched version of react-dom available for projects that needed deeper hook support. The tool was safe to include in production builds. It detected the environment and disabled itself automatically, leaving almost no extra size in the final bundle. That meant developers did not need separate configuration for development versus production builds. There were a few known limits. The tool preserved existing component state and did not re-run lifecycle events when code changed, which was intentional. Changes to a component's constructor were also not always reliably applied to components that were already mounted on the page. The full README is longer than what was shown.

Copy-paste prompts

Prompt 1
I have a webpack React project still using react-hot-loader with a Babel plugin. Give me a step-by-step guide to remove it and set up React Fast Refresh instead.
Prompt 2
My create-react-app project has react-hot-loader installed as a dependency. Is it safe to uninstall it and what replaces its functionality out of the box?
Prompt 3
Explain what the react-hot-loader Babel plugin did under the hood and how React Fast Refresh achieves the same live-reload result differently.
Prompt 4
I wrapped my root App component with the hot() helper from react-hot-loader. If I remove it and switch to Fast Refresh, what other changes does my code need?

Frequently asked questions

What is react-hot-loader?

React Hot Loader was a development tool that let you edit React components and see changes instantly in the browser without losing page state, it is now deprecated in favor of React Fast Refresh.

What language is react-hot-loader written in?

Mainly JavaScript. The stack also includes JavaScript, React, Babel.

What license does react-hot-loader use?

No license information is provided in the explanation.

How hard is react-hot-loader to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is react-hot-loader for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.