componentDidMount, componentDidUpdate, and componentWillUnmount in React.js

Certainly! componentDidMount, componentDidUpdate, and componentWillUnmount are lifecycle methods in class components of React. They are used to perform certain actions at different stages of the component lifecycle.

  1. componentDidMount:
  • componentDidMount is invoked immediately after a component is mounted (i.e., inserted into the DOM tree). This method is commonly used to perform initialization tasks, such as data fetching, setting up subscriptions, or initializing third-party libraries. Example:
   class MyComponent extends React.Component {
       componentDidMount() {
           // Perform initialization tasks here
           console.log('Component is mounted');
       }

       render() {
           return <div>My Component</div>;
       }
   }
  1. componentDidUpdate:
  • componentDidUpdate is invoked immediately after updating occurs. This method is called after the component’s updates are flushed to the DOM. It’s commonly used to perform side effects in response to prop or state changes, such as updating the DOM or fetching new data based on the updated state or props. Example:
   class MyComponent extends React.Component {
       componentDidUpdate(prevProps, prevState) {
           // Perform side effects after updates
           console.log('Component updated');
       }

       render() {
           return <div>My Component</div>;
       }
   }
  1. componentWillUnmount:
  • componentWillUnmount is invoked immediately before a component is unmounted and destroyed. This method is commonly used to perform cleanup tasks, such as unsubscribing from subscriptions, cancelling timers, or releasing resources to prevent memory leaks. Example:
   class MyComponent extends React.Component {
       componentWillUnmount() {
           // Perform cleanup tasks before unmounting
           console.log('Component will unmount');
       }

       render() {
           return <div>My Component</div>;
       }
   }

While class components use these lifecycle methods, functional components can achieve similar behavior using the useEffect hook. The equivalent behavior for componentDidMount can be achieved with useEffect with an empty dependency array ([]). For componentDidUpdate, you can use useEffect with dependencies. And for componentWillUnmount, you can return a cleanup function from the useEffect callback.