[react] super()super(props)有什么区别?

react 中的class 是基于es6的规范实现的, 继承是使用extends关键字实现继承的,子类必须在constructor()中调用super() 方法否则新建实例
就会报错,报错的原因是 子类是没有自己的this对象的,它只能继承父类的this对象,然后对其进行加工,而super()就是将父类中的this对象继承给子类的,没有super() 子类就得不到this对象。

如果你使用了constructor就必须写super() 这个是用来初始化this的,可以绑定事件到this上
如果你想要在constructor中使用this.props,就必须给super添加参数 super(props)
注意,无论有没有 constructor,在render中的this.props都是可以使用的,这是react自动附带的
如果没有用到constructor 是可以不写的,react会默认添加一个空的constroctor.

个人简介

我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易,
但坚持一定很酷。欢迎大家一起讨论

主目录

与歌谣一起通关前端面试题

[react] super()和super(props)有什么区别?相关推荐

  1. super()和super(props)的区别以及为什么要写super(props)

    一般,我们在写自定义类组件的时候会写上构造函数如下: class Checkbox extends React.Component {constructor(props) {super(props); ...

  2. 面试官:super()和super(props)有什么区别?

    一.ES6类 在ES6中,通过extends关键字实现类的继承,方式如下: class sup {constructor(name) {this.name = name}printName() {co ...

  3. Java 泛型中? super T和? extends T的区别

    原文链接          李璟(jlee381344197@gmail.com) 经常发现有List<? super T>.Set<? extends T>的声明,是什么意思 ...

  4. 关键字super和this的使用及区别

    "this"作为一个特殊的关键字,它的规则如下: 1.可以表示构造函数传递.this(a,b)表示调用另外一个构造函数.这里面的this就是一个特殊语法,不是变量,没有什么类型. ...

  5. React中的state和props有什么区别?

    本文翻译自:What is the difference between state and props in React? I was watching a Pluralsight course o ...

  6. Java 关键字super和this的使用及区别

    "this",作为一个特殊的关键字,它的规则如下: 1.可以表示构造函数传递.this(a,b)表示调用另外一个构造函数.这里面的this就是一个特殊语法,不是变量,没有什么类型. ...

  7. React 中使用 render props

    React 中使用 render props 前言 正文 結語 前言 這篇也是紀錄了關於學習 react 的過程,起因是因為開始學習 hooks,但是發現好像有些坑比較重要但卻被我跳過了,像是 ren ...

  8. [react] createElement与cloneElement两者有什么区别?

    [react] createElement与cloneElement两者有什么区别? createElement是创建一个React元素,jsx即是这个函数的语法糖:它的函数签命是React.crea ...

  9. Python编程基础:第四十六节 super函数Super Function

    第四十六节 super函数Super Function 前言 实践 前言 使用super函数可以在子类中直接调用父类的方法.通常情况下,我们会将一些通用的属性或方法定义在父类中,子类可以直接使用父类中 ...

最新文章

  1. 使用VC来操作Excel表格的源码
  2. Apache Commons-logging使用实例
  3. Oracle SQL 内置函数大全
  4. NHibernate获取实体配置信息(表名,列名等等)
  5. Mybatis多参数封装到map中,多条件查询
  6. VOC和COCO数据集标注格式的介绍
  7. 干什么事都要有风险和提早意识
  8. 硕士转行学python_0基础转行编程学习Python是最快的途径吗?
  9. JSP电子病历管理系统
  10. 学习FLTK 使用Fl_Menu_Bar
  11. 北斗导航 | dBW/dBm/W快速换算方法
  12. 中国电信中国电信物联网开放平台-连接管理子系统 http返回为空
  13. XSepConv 极致分离卷积块优于DWConv | Extremely Separated Convolution
  14. 联想微型计算机怎么开盖,联想b520一体机拆机图解
  15. Appium+python自动化(二十一)- 让猴子按你指令大闹手机,让我们都成为耍猴高手(超详解)...
  16. The vulnerabilities were addressed in OpenSSL 1.02f/1.01r. cocos2d 2.2.6
  17. leetcode387题解
  18. cesium底图切换
  19. 08 Cesium—影像服务-1
  20. 如何自制一款tlc颗粒的固态硬盘

热门文章

  1. 68. 文本左右对齐
  2. javascript异步_JavaScript异步并在循环中等待
  3. 分步表单如何实现 html_HTML表格入门的分步指南
  4. 面向Tableau开发人员的Python简要介绍(第3部分)
  5. Azure 和 Linux
  6. java集合框架05——ArrayList和LinkedList的区别
  7. [Android]在Dagger 2中使用RxJava来进行异步注入(翻译)
  8. CSS的一些零碎总结
  9. 转: ant condition使用
  10. “FormCRUD.csProj.FormMain.Name”隐藏了继承的成员“System.Windows.Forms.Control.Name”。如果是有意隐藏,请使用关键字 new。...