Actualicé algunos paquetes npm en mi proyecto Gatsby y ahora veo esta advertencia en la consola:
React-hot-loader: react-🔥-dom patch is not detected. React 16.6+ features may not work.
Sin embargo, cuando miro el código fuente, hay un comentario:
// Actually everything works...
¿Qué significa realmente esta advertencia? ¿Es esto algo que debo arreglar o simplemente dejarlo ser?
Según mi comentario anterior, parece que react-hot-loader quiere el paquete @hot-loader/react-dom en lugar del react-dom estándar:
Personalmente, estoy un poco preocupado por cambiar eso, ya que react-dom es una parte central de cualquier aplicación basada en react . También parece, basado en algunos de los problemas vinculados y los comentarios del código, que tal vez esto sea solo una solución a corto plazo para admitir nuevas funciones de reacción como ganchos.
Así que supongo que hay dos opciones:
Actualizar
Puede deshabilitar la advertencia así:
import { hot, setConfig } from 'react-hot-loader' setConfig({ showReactDomPatchNotification: false })Debe agregar @hot-loader/react-dom a su proyecto según su versión de ReactJS, preste atención al siguiente comando:
yarn add @hot-loader/react-dom@[YOUR_REACT_VERSION]Luego, es necesario agregar un alias de resolución en su archivo de configuración de Webpack:
resolve: { alias: { 'react-dom': '@hot-loader/react-dom' } }Para obtener más información, lea sus documentos .
A partir del verano de 2020 , esta es la solución actual recomendada en el repositorio GitHub de Gatsby :
Ejecute este comando, pero ejecutar esto solo no solucionará el problema:
npm install -D @hot-loader/react-dom // or yarn add -D @hot-loader/react-dom Modifique gatsby-node.js para agregar lo siguiente:
exports.onCreateWebpackConfig = ({ stage, actions }) => { if (stage.startsWith("develop")) { actions.setWebpackConfig({ resolve: { alias: { "react-dom": "@hot-loader/react-dom", }, }, }) } } Reinicie gatsby develop . La advertencia se ha ido.