ReactJS | Hot Module Replacement

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’
// using a variable and printing it in jsx// app.js inside the src folder of create-react-app  // import statementsimport React, { Component } from 'react';import logo from './logo.svg';import './App.css';  class App extends Component { // react method which is used to print // content on to the screen.  render() {    const helloWorld = `How you doin'?`;    return (      <div className="App">        <h2>{helloWorld}</h2>      </div>    );  }}// exporting the default app // so it can be used in other modulesexport 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'));  // If you want your app to work offline and load faster, you can change// unregister() to register() below. Note this comes with some pitfalls.// Learn more about service workers: https://bit.ly/CRA-PWAserviceWorker.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'));  // If you want your app to work offline and load faster, you can change// unregister() to register() below. Note this comes with some pitfalls.// Learn more about service workers: https://bit.ly/CRA-PWAserviceWorker.unregister();  // Hot Module Replacementif(module.hot){    module.hot.accept();}
Now, the browser shouldn’t refresh though the content should be updated.
react-js
Web Technologies
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Difference between var, let and const keywords in JavaScript
How to fetch data from an API in ReactJS ?
Differences between Functional Components and Class Components in React
Remove elements from a JavaScript Array
REST API (Introduction)
Difference Between PUT and PATCH Request
ReactJS | Router
Roadmap to Learn JavaScript For Beginners
How to float three div side by side using CSS?
How to get character array from string in JavaScript?