美文网首页
React初次接触

React初次接触

作者: 岁月静好_dfb4 | 来源:发表于2019-05-20 11:18 被阅读0次

    constructor()不是必须的,但,如果有constructor(),ES6语法强制使用super();

    react 初始化class后,会自动将props设置在this中,所以没有constructor(),任何地方都可以使用this.props;如果有constructor(),除了constructor()中,同样任何地方都可以使用this.props;当你需要在contructor()中使用this.props时,必须使用super(props).

    另:ES5的继承机制与ES6完全不同。

    ES5:当一个构造函数前加上new的时候,背地里做了四件事:

    1.生成一个空的对象并将其作为 this;

    2.将空对象的 __proto__ 指向构造函数的 prototype;

    3.运行该构造函数;

    4.如果构造函数没有 return 或者 return 一个返回 this 值是基本类型,则返回this;如果 return 一个引用类型,则返回这个引用类型。

          简单解释,就是在ES5的继承中,先创建子类的实例对象this,然后再将父类的方法添加到this上( Parent.apply(this) )。而ES6采用的是先创建父类的实例this(故要先调用 super( )方法),完后再用子类的构造函数修改this。

    ---------------------

    参考原文:https://blog.csdn.net/chjj0904/article/details/79291117

    相关文章

      网友评论

          本文标题:React初次接触

          本文链接:https://www.haomeiwen.com/subject/eddeyqtx.html