Agregar react-hot-loader a la aplicación de creación-reacción expulsada
Estoy usando las instrucciones deeste compromiso para intentar agregarreact-hot-loader
versión 3 acreate-react-app
. (Desplácese hacia abajo para ver las configuraciones de babel y webpack)
Editar: Cambiando'webpack/hot/dev-server'
a'webpack/hot/only-dev-server'
permite que la recarga en caliente funcione. ¿Porque? Además, ¿cómo haría que volviera a cargar la página web si no se puede volver a cargar el estado completo?
Comportamiento esperado:
La edición de un componente React en el editor reemplaza los módulos en el navegador sin actualizar el navegador.
Comportamiento real (con configuraciones alteradas):
La edición de un componente Reaccionar en el editor actualiza el navegador, sin importar dónde se realice el cambio, y muestra ese cambio.
Mi código:
Estoy usando el siguiente código (como se sugiere eneste compromiso) para volver a cargar la aplicación, incluido Proveedor / tienda de Redux.
import React from 'react'
import ReactDOM from 'react-dom'
import App from "./components/App/App"
import "./styles/index.scss"
import { AppContainer } from 'react-hot-loader'
import configureStore from "./redux/store"
const store = configureStore()
ReactDOM.render(
<div>
<AppContainer>
<App store={store} />
</AppContainer>
</div>,
document.getElementById('root')
)
if (module.hot) {
module.hot.accept('./components/App/App', () => {
render(
<AppContainer props={{ store }}>
{require('./components/App/App').default}
</AppContainer>,
document.getElementById('root')
)
})
}
Mis configuraciones
Las configuraciones originales son delcreate-react-app
herramienta. Las configuraciones alteradas son mis intentos de obtenerreact-hot-loader
trabajando en este proyecto.
Configuración original del paquete web de CRA:https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/config/webpack.config.dev.js
Mi configuración alterada del paquete web CRA:https://gist.github.com/Connorelsea/674a31e157d54144623ebf0ec775e0e7
Configuración original de babel CRA:https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/config/babel.dev.js
Mi configuración alterada de CRA Babel:https://gist.github.com/Connorelsea/58664bfea423f5708a2e0f168fd391c9