我的index.jsx中有以下内容
const store = configureStore();
const MOUNT_NODE = document.getElementById('root');
const render = () => {
ReactDOM.render(
<Provider store={store}>
<Routes />
</Provider>,
MOUNT_NODE,
);
};
if (module.hot) {
module.hot.accept('routes.jsx', () => {
ReactDOM.unmountComponentAtNode(MOUNT_NODE);
render();
});
}
render();这将呈现最初的应用程序。现在,当我更改任何文件时,我会在浏览器的控制台中获得以下日志。
[HMR] bundle rebuilding
[HMR] bundle rebuilt in 285ms
[HMR] Checking for updates on the server...
[HMR] Updated modules:
[HMR] - ./src/js/components/SomeComponent/SomeComponent.jsx
[HMR] - ./src/js/components/App.jsx
[HMR] - ./src/js/routes.jsx
[HMR] App is up to date.此日志表明已检测到更新,并更新了模块。此外,我在"network“选项卡中看到一个新脚本被加载,<head>标记闪烁,显示它加载了新脚本。我检查了脚本,它包含了我的更改。
然而,我没有看到我的页面更新。整个页面进行快速闪存,以显示render()函数被调用,但不存在更改。
我正在使用我的大部分HMR和webpack的设置从https://github.com/react-boilerplate/react-boilerplate。
我不知道该在哪里找出发生了什么事。任何帮助都是非常感谢的。
编辑:
我刚刚发现module.hot.accept()只被调用了一次,这是第一次更新。这不是我第二次修改文件的时候。
编辑2:
当我尝试使用module.hot.accept(() => {})时,它似乎正常工作,但是减速器不起作用,我得到了以下错误:
提供程序不支持动态更改
store。您很可能会看到此错误,因为您更新到Redux2.x并响应Redux2.x,不再自动重新加载热减速器。有关迁移说明,请参见https://github.com/reactjs/react-redux/releases/tag/v2.0.0。
所以,我能做任何事情的唯一方法就是有两个module.hot.accept,一个用App.jsx,另一个用reducers.jsx。仍然找不出到底出了什么问题。
发布于 2019-05-25 15:25:48
我也有同样的问题
对未来的任何人来说,你试过这个吗?
//My root component (that also use redux), but can be any component one by one in case you want to specific compontents with hot reload
import {hot} from "react-hot-loader/root"
import React, { Component } from 'react';
import { BrowserRouter as Router } from 'react-router-dom'
import { Provider } from "react-redux"
import { ExtReact } from '@sencha/ext-react'
import store from "./redux/store"
import Layout from './Layout';
// Enable responsiveConfig app-wide. You can remove this if you don't plan to build a responsive UI.
/**
* The main application view
*/
class App extends Component {
render() {
return (
<Router>
<Provider store={store}>
<Layout />
</Provider>
</Router>
);
}
}
export default hot(App);https://stackoverflow.com/questions/52803065
复制相似问题