React-hot-loader: react-🔥-dom patch is not detected
I updated some npm packages in my Gatsby project and now I'm seeing this warning in console:
React-hot-loader: react-🔥-dom patch is not detected. React 16.6+ features may not work.
However, when I look into the source code, there is a comment:
// Actually everything works...
What does this warning actually mean? Is this something I should fix or just let it be?
Solution 1:
Per my comment above, it's looking like react-hot-loader
wants the @hot-loader/react-dom
package instead of standard react-dom
:
- https://github.com/gaearon/react-hot-loader#react--dom
- https://github.com/hot-loader/react-dom
Personally I'm a little concerned with swapping that out though since react-dom
is a core part of any react
-based application. Also it seems based on some of the linked issues and code comments that maybe this is just a short-term workaround to support new react features like hooks.
So I guess there's two options:
- Wait a little longer to see if they drop that requirement (and maybe run into a few edge cases for hot loading).
- Follow the instructions to get rid of the warning.
Update
You can disable the warning like so:
import { hot, setConfig } from 'react-hot-loader'
setConfig({
showReactDomPatchNotification: false
})
Solution 2:
You need to add @hot-loader/react-dom
to your project based on your ReactJS version, pay attention below command:
yarn add @hot-loader/react-dom@[YOUR_REACT_VERSION]
Then it is needed to add resolve alias for it on your Webpack configuration file:
resolve: {
alias: {
'react-dom': '@hot-loader/react-dom'
}
}
For more information read its docs.