Adicionando react-hot-loader ao create-react-app ejetado
Estou usando as instruções deesse commit para tentar adicionarreact-hot-loader
versão 3 acreate-react-app
. (Role para baixo para ver as configurações de babel e webpack)
Editar: Mudando'webpack/hot/dev-server'
para'webpack/hot/only-dev-server'
permite que a recarga a quente funcione. Por quê então? Além disso, como eu faria para recarregar a página da Web se o estado completo não puder ser recarregado?
Comportamento esperado:
A edição de um componente React no editor substitui os módulos no navegador sem atualizar o navegador.
Comportamento real (com configurações alteradas):
A edição de um componente React no editor atualiza o navegador, não importa onde a alteração é feita, e exibe essa alteração.
Meu Código:
Estou usando o seguinte código (como sugerido emesse commit) para recarregar o aplicativo, incluindo Provedor / loja do 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')
)
})
}
Minhas configurações:
As configurações originais são docreate-react-app
ferramenta. As configurações alteradas são minhas tentativas de obterreact-hot-loader
trabalhando neste projeto.
Configuração original do webpack CRA:https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/config/webpack.config.dev.js
Minha configuração alterada do webpack do CRA:https://gist.github.com/Connorelsea/674a31e157d54144623ebf0ec775e0e7
Configuração original do babel do CRA:https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/config/babel.dev.js
Minha configuração alterada de babel do CRA:https://gist.github.com/Connorelsea/58664bfea423f5708a2e0f168fd391c9