What does calling super() in a React constructor do?

super() will call the constructor of its parent class. This is required when you need to access some variables from the parent class.

In React, when you call super with props, React will make props available across the component through this.props. See example 2 below

without super()

class A {
  constructor() {
    this.a="hello"
  }
}

class B extends A {
  constructor(){
    console.log(this.a) //throws an error
  }
}

console.log(new B())

with super()

class A {
  constructor(props) {
    this.props = props
  }
}

class B extends A {
  constructor(props) {
    super(props)
    console.log(this.props)
  }
}

console.log(new B({title: 'hello world'}))

Hope this helps!

Leave a Comment