Thursday, November 28, 2024
Google search engine
HomeLanguagesReactJS lifecycle methods order in Mounting

ReactJS lifecycle methods order in Mounting

Every component in React has to go through three phases that are Mounting, Updating, and Unmounting. These are called lifecycle methods in react.js. Out of the three, mounting is the first phase in the life cycle.

There are four methods that fall under this phase those methods are:

  • constructor()
  • getDerivedStateFromProps()
  • render()
  • componentDidMount()

Out of the four render() is a mandatory method whereas the others are optional.

Prerequisites:

Creating React application:

Step 1: Create a React application using the following command:

npx create-react-app project

Step 2: After creating your project folder(i.e. project), move to it by using the following command:

cd project

Project Structure: It will look like this.

Note: Learn all four methods one by one by changing code in the App.js file.

1. Constructor(): The constructor() method is called with the props. It inherits the properties and method from the parent constructor.

In this file, we are creating a constructor with props as arguments, we are inheriting the properties using super(props). We are creating a state name with the value ‘user’. We are calling the state further in our <h1> tags.

Example: This is a simple example illustrating state name with the value ‘user’:

Javascript




import React, { Component } from "react";
 
class App extends Component {
    constructor(props) {
        super(props);
        this.state = { name: 'user' };
    }
    render() {
        return (
            <div className="App">
                <h1>Welcome {this.state.name}</h1>
            </div>
        );
    }
}
 
export default App


Step to Run Application: Run the application using the following command from the root directory of the project.

npm start

Output:

2. getDerivedStateFromProps(): The method getDerivedStateFromProps() takes the state as an argument and returns null or object with changes to the state.

Example: In this example, we are creating a static getDerivedStateFromProps() that changes the state name from ‘user’ to ‘newUser’.

Javascript




import React, { Component } from "react";
 
class App extends Component {
    constructor(props) {
        super(props);
        this.state = { name: 'user' };
    }
    static getDerivedStateFromProps(props) {
        return { name: 'newUser' };
    }
    render() {
 
 
        return (
            <div className="App">
                <h1>Welcome {this.state.name}</h1>
            </div>
        );
    }
}
 
export default App


Output:

3. render(): The render() method outputs the HTML to the DOM.

Example: In this example, we are just showing a text within a header tag.

Javascript




import React, { Component } from "react";
 
class App extends Component {
    render() {
        return (
            <div className="App">
                <h1>Welcome Geek</h1>
            </div>
        );
    }
}
 
export default App


Output:

4.  componentDidMount(): After the component is rendered the componentDidMount() gets called.It works when the element is already in the DOM.

Example: In this example, we are creating a componentDidMount() with a function setTimeout which changes the state name from ‘user’ to ‘GeekUser’ after 2 seconds.

Javascript




import React,{Component} from "react";
 
class App extends Component {
   constructor(props) {
      super(props);
      this.state = {name:'user'};
   }
   componentDidMount() {
    setTimeout(() => {
      this.setState({name: "GeekUser"})
    }, 2000)
  }
render() {
   return (
      <div className="App">
        <h1>Welcome {this.state.name}</h1>
      </div>
     );
   }
 }
 
export default App


Output:

How can we find the order of lifecycle methods in mounting?

In this, the example we are adding all four functions together. First, we are creating a constructor that will have the console.log message, then we are creating a static getDerivedStateFromProps() which will also show a message at the console and it returns null.

For the render() and ComponentDidMount() methods we are also adding some text to see in the console.

Example: After running the code, the order in which the messages associated with methods appear in the console is the order they follow during mounting.

Javascript




import React from "react";
 
class App extends React.Component {
    constructor(props) {
        super(props);
        console.log("This is Constructor");
        this.state = { color: 'red' };
    }
    static getDerivedStateFromProps() {
        console.log("getDerivedStateFromProps()");
        return null;
 
    }
    componentDidMount() {
        console.log("componentDidMount");
    }
    render() {
        console.log("render");
 
        return (
            <div></div>
        );
    }
}
 
export default App


Step to Run Application: Run the application using the following command from the root directory of the project.

npm start

Now, open the inspector Ctrl + Shift + C and click on the console tab.

Output:

We can see this is the order of the life cycle method in mounting.First mounts the constructor() method then the getDerivedStateFromProps() method, followed by render() method and then componentDidMount() method.

Whether you’re preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, neveropen Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we’ve already empowered, and we’re here to do the same for you. Don’t miss out – check it out now!

RELATED ARTICLES

Most Popular

Recent Comments