使用create-react-app redux的热重载器无法正常工作

时间:2018-10-01 06:00:04

标签: javascript reactjs webpack redux

我有一个React Redux Web应用程序,我从create-react-app开始,然后慢慢适应redux。热加载不会重新加载整个页面并清除我的状态,这就是为什么我正在考虑实施HMR, 我在https://medium.com/@brianhan/hot-reloading-cra-without-eject-b54af352c642处找到了参考,但以下代码对我没有帮助。 没错,但是当我更改减速器状态时,整个页面都重新加载了。

我的index.js代码

import configureStore from './store'

const store = configureStore()
const render = App => {
  return ReactDOM.render(
    <Provider store={store}>
      <BrowserRouter>
        <App />
      </BrowserRouter>
    </Provider>,
    document.getElementById('root')
  )
}

render(App)

if (module.hot) {
  module.hot.accept('./App', () => {
    const NextApp = require('./App').default
    render(NextApp)
  })
}

我的商店代码

import rootReducers from './reducers'

const configureStore = () => {
  const store = createStore(
    rootReducers,
    composeWithDevTools(
      applyMiddleware(
        thunkMiddleware
      )
    )
  )

  if (
    process.env.NODE_ENV !== 'production' ||
    process.env.NODE_ENV !== 'staging'
  ) {
    if (module.hot) {
      module.hot.accept('./reducers', () => {
        store.replaceReducer(rootReducers)
      })
    }
  }

  return store
}

export default configureStore

0 个答案:

没有答案