[react] 在构造函数中调用super(props)的目的是什么?

这是ES6的语法。class组件继承自React.Component,super(props)之后,有以下几个作用:

  • 初始化props,虽然不进行super(props)操作,组件在实例化时react也会对props进行初始化,但是如果向以下的操作,构造函数中的this.props是无法读取的
class Demo extends React.Component {constructor(props) {super();// 上面的super函数没有传参数,下面的log打印undefinedconsole.log(this.props)}
}
  • 根据ES的语法规则,作为子类的组件可以拿到父类的this,使之可以调用父类的属性和方法,如this.setState``this.props等等

个人简介

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

主目录

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

[react] 在构造函数中调用super(props)的目的是什么?相关推荐

  1. C++对象模型4——多重继承的对象内存模型、vptr与vtbl的创建与重置的时机、不要在含有虚函数的类的构造函数中调用memset

    一.多重继承的对象内存模型 class Base1 { public:virtual void f() {cout << "base1::f()" << e ...

  2. C++在构造函数中调用构造函数

    为什么80%的码农都做不了架构师?>>>    C++如何在一个构造函数中调用另一个构造函数,在一篇博文中看到了这样的一道题: #include <stdlib.h> # ...

  3. 【C++】45.尽量不要在构造函数中调用函数或开启线程

    我们有时候会有些不规范的编程习惯,如,在构造函数中开启detach分离线程,或者在构造函数中写一个初始化函数,在这个初始化函数中开启detach分离线程.这样做会有意想不到的程序崩溃问题,而且还不好排 ...

  4. C# 构造函数中调用虚函数

    C# 构造函数中调用虚函数 using System; using System.Diagnostics; using System.Text; using System.Collections; u ...

  5. C++学习笔记-----在一个构造函数中调用另一个构造函数

    在构造函数中调用另一个构造函数如果一不注意就会有无限递归的危险,而且构造函数的参数的不同也决定了调用的不同,所以特意总结了一下哪些形式的调用时允许的: 首先假设构造函数调用时参数都是外部的变量,而不是 ...

  6. 构造函数中调用构造函数new和delete使用小结

    malloc free 是C语言的函数 new delete 是C++的操作符 #include "iostream" using namespace std;//构造中调用构造是 ...

  7. C#从构造函数中调用其他构造函数

    有时,在一个类中有几个构造函数,以容纳某些可选参数,这些构造函数包含一些共同的代码.例如,如下情况: Class Car {private string _description;private in ...

  8. C++ 不能在构造函数中调用构造函数

    #include <iostream> using namespace std;class MyTest{public:MyTest() {}MyTest(int a, int b, in ...

  9. java调用构造函数中某一个值_Java如何在枚举的构造函数中调用另一个枚举值

    Java中的枚举(enum)是一种存储一组常量值的数据类型.您可以使用枚举来存储固定值,例如一周中的天,一年中的月等. 您可以使用关键字 enum定义枚举,后跟枚举的名称为-enum Days { S ...

最新文章

  1. Oracle 10g 之自动收集统计信息
  2. C# 集合交、并、差、去重,对象集合交并差
  3. Verdi GUI技能操作-Application Tutorials部分
  4. mysql 2003报错_为什么不建议在 MySQL 中使用 UTF-8?
  5. NIO这样理解才够深入!
  6. 谷歌 recaptcha_在Spring Boot应用程序中使用Google reCaptcha
  7. html边框为框,HTML 为元素设置边框
  8. javascript入门_JavaScript入门手册(2020版)
  9. PowerDesign数据库建模导出至MySQL数据库
  10. h5侠客行服务器维护有更新什么,侠客行h5转生条件大全及转生激励说明
  11. 项目实施工程师的工作
  12. 安装系统、驱动相关软件下载地址
  13. FPGA 光纤传输IP核的使用
  14. 如何调用阿里云、百度云API接口
  15. at命令不生效 linux_linux中at命令详解
  16. 应用层加密方_加密应用层数据之前要问的6个问题
  17. 共模电压你了解多少?陈老师带你搞清楚
  18. 坚鹏:苏州银行《银行数字化运营之行动篇》课程培训圆满结束
  19. UCK将私钥硬件化 是数字资产安全储存的又一次革新
  20. 2016OSC源创会年终盛典-综合技术专场-George Neville-Neil

热门文章

  1. android webView的缓存机制和资源预加载
  2. leetcode 842. 将数组拆分成斐波那契序列(回溯算法)
  3. javascript创建类_如何使用JavaScript创建吹气效果
  4. 掌握大数据数据分析师吗?_要掌握您的数据吗? 这就是为什么您应该关心元数据的原因...
  5. 大数据 notebook_Dockerless Notebook:数据科学期待已久的未来
  6. 迅为工业级iMX6Q开发板全新升级兼容PLUS版本|四核商业级|工业级|双核商业级...
  7. 关于linux-Centos 7下mysql 5.7.9的rpm包的安装方式
  8. Android初级教程:Android中解析方式之pull解析
  9. Ubuntu 14.10 下运行进程实时监控pidstat命令详解
  10. javase基础复习攻略《七》