Prev Next

Web / React native

What are the Class component lifecycle methods in React?

Each component in React has a lifecycle which you can monitor and manipulate during its three main phases. The 3 phases are: Mounting, Updating, and Unmounting.

During Mounting phase, 4 methods gets called in the below order.

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

The render() method is mandatory and will be always called, while others are optional.

constructor() method is called before anything else, when the component is initiated, and it is the place to set up the initial state and other initial values.

The constructor() method is called with the props, as arguments, and you should always start by calling the super(props) before anything else, this will initiate the parent's constructor method and allows the component to inherit methods from its parent (React.Component).

The getDerivedStateFromProps() method is called right before rendering the element(s) in the DOM.It is the place to set the state object based on the initial props.It takes state as an argument, and returns an object with changes to the state.

The render() method is required, and is the method that actually outputs the HTML to the DOM.

componentDidMount is executed after the first render only on the client side. This is where AJAX requests and DOM or state updates should occur. This method is also used for integration with other JavaScript frameworks and any functions with delayed execution such as setTimeout or setInterval. We are using it to update the state so we can trigger the other lifecycle methods.

Update Phase: A component is updated whenever there is a change in the component's state or props. 5 built-in methods are called in the below order when a component is updated.

  • getDerivedStateFromProps()
  • shouldComponentUpdate()
  • render()
  • getSnapshotBeforeUpdate()
  • componentDidUpdate()

All methods except render are optional and will be called if you define it.

Also at updates the getDerivedStateFromProps method is called. This is the first method that is called when a component gets updated. This is still the place to set the state object based on the initial props.

In the getSnapshotBeforeUpdate() method you have access to the props and state before the update, meaning that even after the update, you can check what the values were before the update. If the getSnapshotBeforeUpdate() method is present, you should also include the componentDidUpdate() method, otherwise you will get an error.

shouldComponentUpdate should return a true or false value. This will determine if the component will be updated or not. This is set to true by default. If you are sure that the component doesn't need to render after state or props are updated, you can return a false value.

componentDidUpdate is called just after rendering.

Deprecated/Unpopular lifecycle methods:

componentWillUnmount is called after the component is unmounted from the dom. We are unmounting our component in main.js.

componentWillMount is executed before rendering, on both the server and the client-side.This method is only called one time, which is before the initial render.

componentWillReceiveProps is invoked as soon as the props are updated before another render is called. We triggered it from setNewNumber when we updated the state.

componentWillUpdate is called just before rendering.

It's right time to invest in Cryptocurrencies Dogecoin! Earn free bitcoins up to $250 now by signing up.

Earn bitcoins upto $250 (free), invest in other Cryptocurrencies when you signup with blockfi. Use the referral link: Signup now and earn!

Using BlockFi, don't just buy crypto - start earning on it. Open an interest account with up to 8.6% APY, trade currencies, or borrow money without selling your assets.


Join CoinBase! We'll both receive $10 in free Bitcoin when they buy or sell their first $100 on Coinbase! Available in India also. Use the referral Join coinbase!


Invest now!!! Get Free equity stock (US, UK only)!

Use Robinhood app to invest in stocks. It is safe and secure. Use the Referral link to claim your free stock when you sign up!.

The Robinhood app makes it easy to trade stocks, crypto and more.


Webull! Receive free stock by signing up using the link: Webull signup.

More Related questions...

What is React-native framework? Mention a few core components in React-native? What is JSX? What are Props in React-native? What is state in React-native components? Difference between state and props in React. What is REDUX? What is REDUX Ducks pattern? What are hooks in React/React-native? Difference between Flux and Redux. Difference between useEffect hook and useLayoutEffect. What are native apps? Benefits Of Native Mobile App Development. What is an Offline first application? What is Javascript Obfuscator? What is Component-Driven Development? What is the use of watchman for react native? What are Refs used for in React Native? What is the default value of position CSS property in react-native? What are the different ways to create React components? Difference between Functional component and class-based component in React. What is useFocusEffect hook in React navigation? What is react-navigation? What are the 2 axes of flexbox? What is marginVertical CSS property? Differentiate: ScrollView vs FlatList elements. What are the 3 fundamental principles of REDUX? Types of React navigation. Explain stack navigator in React navigation. Difference between React Native and React. What is React native elements library? Common performance issues in React native app development. What is React Native Bridge? Explain different Threads in ReactNative. What is Redux in React Native? Is there any difference between declaring a function inside or outside the component's body? Does useSelector cause a re-render of the component? When do the React components rerender? What is the first file in React applications? How different is React-native from ReactJS? What is a Flexbox? What is State and how is it used in React Native? What is flipper in React-Native? Mention the differences between redux persist and redux offline packages if you have used it. What are the Class component lifecycle methods in React? Explain useFocusEffect hook in React-native. What is Redux middleware? Have you used SafeAreaView in your react-native project? Why did you use it? Difference between useLayoutEffect and useEffect. How do I navigate to a component from middleware/component where there are no navigation props? What is the benefit of using StyleSheet vs a plain object?
Show more question and Answers...

ES6 Interview questions

Comments & Discussions