React -- react中关于构造函数中super(props)的问题

本文探讨了React组件构造函数中为何需要使用`super(props)`。不写`super(props)`会导致错误,因为JavaScript引擎要求在访问`this`前必须先调用父类构造函数。若只写`super()`,虽然构造函数内无法访问`props`,但在外部仍可正常使用,React会在构造函数后确保`props`的设置。
摘要由CSDN通过智能技术生成

用react开发有一段时间了,有一个疑惑,为什么构造函数中需要写super(props)?

第一种情况,假如我们不写会怎么样?

import React, { Component } from "react";

class Text extends Component {

    constructor (props) {
    //    super( );
       console.log(props)
       console.log( this.props) ;
    }
   
    render (){
        return null;
    }
}

export default Text

我们运行代码,会发现报错了。

Js引擎强制你在调用父类构造函数之前,不允许使用this.这是有很好的理由的。

比如:你需要使用父类里面的属性或者方法时,这种时候是访问不到的。

2:如果我们写了。但是不传递参数,写成super(),会怎样?

import React, { Component } from "react";

class Text extends Component {

    constructor (props) {
       super( );
       console.log(props)
       cons
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值