From 9f5a5ce84d4de8221de6bfd1cb083d09c22d5ade Mon Sep 17 00:00:00 2001 From: Wang Guan Date: Sat, 21 Apr 2018 09:45:53 +0900 Subject: [PATCH 1/2] enable webpack hmr --- packages/react-scripts/template/src/index.tsx | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/packages/react-scripts/template/src/index.tsx b/packages/react-scripts/template/src/index.tsx index a7b130622..ac0711cbd 100644 --- a/packages/react-scripts/template/src/index.tsx +++ b/packages/react-scripts/template/src/index.tsx @@ -4,8 +4,26 @@ import App from './App'; import './index.css'; import registerServiceWorker from './registerServiceWorker'; +function registerHMR() { + type ModuleHMR = typeof module & { + hot?: { + accept(dependencies: string | string[], callback: (updatedDependencies: any[]) => void): void + } + }; + + if ((module as ModuleHMR).hot) { + (module as ModuleHMR).hot!.accept('./App', () => { + ReactDOM.render( + , + document.getElementById('root') as HTMLElement + ); + }); + } +} + ReactDOM.render( , document.getElementById('root') as HTMLElement ); registerServiceWorker(); +registerHMR(); From f344f42bf884449bdbdab5cb37dada4f89f3e5b7 Mon Sep 17 00:00:00 2001 From: Wang Guan Date: Thu, 3 May 2018 23:57:35 +0900 Subject: [PATCH 2/2] reduce duplicated code --- packages/react-scripts/template/src/index.tsx | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/packages/react-scripts/template/src/index.tsx b/packages/react-scripts/template/src/index.tsx index ac0711cbd..753053e17 100644 --- a/packages/react-scripts/template/src/index.tsx +++ b/packages/react-scripts/template/src/index.tsx @@ -12,18 +12,17 @@ function registerHMR() { }; if ((module as ModuleHMR).hot) { - (module as ModuleHMR).hot!.accept('./App', () => { - ReactDOM.render( - , - document.getElementById('root') as HTMLElement - ); - }); + (module as ModuleHMR).hot!.accept('./App', render); } } -ReactDOM.render( - , - document.getElementById('root') as HTMLElement -); +function render() { + ReactDOM.render( + , + document.getElementById('root') as HTMLElement + ); +} + registerServiceWorker(); registerHMR(); +render();