Skip to content

Commit fe2ce36

Browse files
committed
add module auto-require, fixes #794
1 parent dccd36e commit fe2ce36

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

packages/react-hot-loader/src/hot.dev.js

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ import reactHotLoader from './reactHotLoader'
66
import { isOpened as isModuleOpened } from './global/modules'
77
import logger from './logger'
88

9+
const requireIndirect =
10+
typeof __webpack_require__ !== 'undefined' ? __webpack_require__ : require
11+
912
const createHoc = (SourceComponent, TargetComponent) => {
1013
hoistNonReactStatic(TargetComponent, SourceComponent)
1114
TargetComponent.displayName = `HotExported${getComponentDisplayName(
@@ -16,7 +19,16 @@ const createHoc = (SourceComponent, TargetComponent) => {
1619

1720
const makeHotExport = (sourceModule, getInstances) => {
1821
const updateInstances = () =>
19-
setTimeout(() => getInstances().forEach(inst => inst.forceUpdate()))
22+
setTimeout(() => {
23+
if (sourceModule.id) {
24+
try {
25+
requireIndirect(sourceModule.id)
26+
} catch (e) {
27+
console.log(e)
28+
}
29+
}
30+
getInstances().forEach(inst => inst.forceUpdate())
31+
})
2032

2133
if (sourceModule.hot) {
2234
// Mark as self-accepted for Webpack

0 commit comments

Comments
 (0)