ReactJS | Hot Module Replacement
Last Updated :
30 Apr, 2019
It is always recommended to start your react journey using the create-react-app which can be found here. It saves a lot of time as all the basic application backend is provided after installation, and we are only left to deal with the implementation details. Whenever we make changes in the main core ‘app.js’ file inside the create-react-app, and visit the localhost then we see that the page refreshes itself after updating the content.
‘app.js file’
import React, { Component } from 'react' ;
import logo from './logo.svg' ;
import './App.css' ;
class App extends Component {
render() {
const helloWorld = `How you doin'?`;
return (
<div className= "App" >
<h2>{helloWorld}</h2>
</div>
);
}
}
export default App;
|
In the above code we are declaring a variable and then printing it using the render method provide by react, this is one part of it. In the app.js file, we write the main JSX( javascript XML ) which includes javascript inside the HTML tags. After the JSX we export the content so that ReactDOM can make use of it and then finally show it inside the specified element. The code for the ‘index.js’ which makes use of the ReactDOM looks like the code below:
‘index.js file’
import React from 'react' ;
import ReactDOM from 'react-dom' ;
import './index.css' ;
import App from './App' ;
import * as serviceWorker from './serviceWorker' ;
ReactDOM.render(<App />, document.getElementById( 'root' ));
serviceWorker.unregister();
|
Output:
Now whenever we make any kind of change to our app.js file and save it, react will compile it and the changed content will be shown on the web. It will refresh the page every time we save it, though it recommended to make use of the HOT Module Replacement, which allows us to reload our application in the browser without refreshing the page. It improves the experience as a developer. In order to make use of this module, our code inside the ‘index.js’ will look something like the code below:
‘updated index.js file’
import React from 'react' ;
import ReactDOM from 'react-dom' ;
import './index.css' ;
import App from './App' ;
import * as serviceWorker from './serviceWorker' ;
ReactDOM.render(<App />, document.getElementById( 'root' ));
serviceWorker.unregister();
if (module.hot){
module.hot.accept();
}
|
Now, the browser shouldn’t refresh though the content should be updated.
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...