React-hot-loader v4 修改代码整个页面都刷新

#1

引用包的版本:
“react”: “^16.2.0”,
“react-dom”: “^16.2.0”,
“react-hot-loader”: “^4.0.1”,
“react-redux”: “^5.0.7”,
“react-router-dom”: “^4.2.2”,
“react-router-redux”: “^5.0.0-alpha.9”,
“redux”: “^3.7.2”,
引入store的代码:

const store = createStore(
  combineReducers({
    reducer
  })
)

const App = () => (
  <Provider store={store}>
    <Main />
  </Provider>
)

export default  hot(module)(App)

引入router的代码:

const Main = () => (
  <BrowserRouter>
    <div>
      <Route path="/login" component={LoginContainer} />
      <Route path="/home" component={HomeContainer} />
    </div>
  </BrowserRouter>
)

代码地址:https://github.com/quhaisi/simple-oa
求大神告知哪里出了问题:cry:

#2

你说的页面刷新指的是什么?bundle.js重新获取了吗?没获取的话,说明还是页内组件的替换。

#3

试试把BrowserRouter下面的div标签换成router4的Switch标签

#4

就是热加载不需要整个浏览器都刷新,只用react-router还可以实现,但是加上react-redux就不行了,类似这样

export default connect(
  mapStateToProps
)(HomeContainer)