【发布时间】:2019-01-23 05:09:21
【问题描述】:
为什么要将参数放入module.hot.accept()?如果我们什么都不放,webpack.HotModuleReplacementPlugin 可以工作,但 React 组件也会丢失其状态数据。
如果我们使用react-hot-loader,我们应该把参数放在accept方法中,但是我不知道第一个参数是什么意思,也不知道为什么
回调应该再次require 并获得default?
import React, {Component} from 'react';
import ReactDOM from 'react-dom';
import {AppContainer} from 'react-hot-loader';
import getRouter from './src/router';
const boot = (elements)=> {
ReactDOM.render(
<AppContainer>
{elements}
</AppContainer>
, document.getElementById('app'));
}
let rs = getRouter();
boot(rs); //first render
// render after source code change
if (module.hot) {
module.hot.accept('./src/router', ()=> {
boot(require('./src/router').default())
});
}
【问题讨论】:
标签: javascript reactjs webpack-hmr react-hot-loader