super(props)
时间: 2023-06-23 10:01:15 浏览: 45
这是在 React 中用于在子类 constructor 中调用父类 constructor 的语法。它的作用是继承父组件的属性和方法。在使用 ES6 class 定义组件时,如果需要在子类的 constructor 中访问 this.props,就必须在 constructor 中调用 super(props)。
相关问题
react 中 super() 和 super(props)的区别
在 React 中,`super()`和`super(props)`都用于调用父类的构造函数。但是,它们之间有一些区别。
当你使用`super()`时,它会将`this`传递给父类的构造函数,并且在构造函数中你不能访问`this.props`。这意味着,如果你需要在构造函数中访问`this.props`,那么你需要使用`super(props)`。
当你使用`super(props)`时,它会将`this`和`props`都传递给父类的构造函数,并且父类的构造函数可以通过`this.props`访问传递进来的`props`属性。
因此,如果你需要在构造函数中访问`props`属性,那么你应该使用`super(props)`。否则,如果你不需要在构造函数中访问`props`属性,那么你可以使用`super()`。
constructor super
constructor和super是在React组件中使用的两个关键字。
constructor是一个类的构造函数,它在创建类的实例时被调用。在React组件中,constructor通常用于初始化组件的状态(state)和绑定事件处理函数。当你在组件中定义了自己的constructor时,你必须调用super()来调用父类的构造函数,以确保正确地继承父类的属性和方法。如果你需要在constructor中访问props的值,你需要将props作为参数传递给super,例如super(props)。\[1\]
在React中,使用class语法糖定义组件时,默认会生成一个constructor方法,所以当你不需要使用constructor时,可以不用自己定义。但是如果你自己定义了constructor,就必须调用super()。\[1\]
总结来说,constructor是用于初始化组件的构造函数,而super是用于调用父类的构造函数,确保正确继承父类的属性和方法。\[2\]\[3\]
#### 引用[.reference_title]
- *1* *2* *3* [constructor、super()、super(props)的区别](https://blog.csdn.net/qq_33270597/article/details/106787534)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]