我们如何能够将函数绑定到react组件的构造函数中?

时间:2019-02-16 15:20:16

标签: javascript reactjs ecmascript-6

我们听说初始化类组件时,构造函数是第一个调用的函数,然后如何进入构造函数,我们便可以访问并绑定到稍后在类中定义的函数 即问,为什么我们可以在构造函数内部访问this.fn?

import React from 'react';
class A extends React.Component {
  constructor(props){
    super(props);
    this.a = 1;
    this.fn = this.fn.bind(this);
  }
  fn(){
    console.log(this.a);
  }
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>

1 个答案:

答案 0 :(得分:1)

class声明本身是一个“漂亮的”包装器,用于构造函数的声明和构造函数原型对象的初始化。 (还有其他一些功能,但这就是我们的目的。)

因此class代码本身代表可执行代码,而不仅仅是静态声明。因此,在实际调用构造函数之前,会初始化原型对象。调用构造函数后,即可使用原型属性(如fn()方法)。