constructor 函数时组件最先执行的函数
class childen extends react.Component{ constructor(props){ super(props); this.state={ attr1:"", } } }
一般在constructor函数中都会存在 上述方法,个人对其的理解
constructor():子类继承父类时的构造方法,主要时用以定义this.属性 在react中一些默认的数据可以直接在此处定义
import React from 'react'; class Mine extends React.Component { constructor(a) { super(a); this.state = { date: new Date().getTime() } //定义custom 和state并没有什么本质的区别,在都可以通过this都访问,但是推荐使用state 因为在react中 即使我们不定义this.state //this下仍会有一个默认的state属性,具体作用暂时没有发现,感兴趣的同学可以深入了解一下 this.custom = { date: new Date().getTime() } console.log(a); } componentWillMount() { console.log("在渲染前调用",this) } render() { return ( <div> <div className='head'> <span>{this.state.date}</span>
<span>{this.custom.date}</span>
</div> </div> ) } }
spuer(): 注意在定义组件的时候可以没用constructor方法,一旦定义,就必须使用spuer方法,这不是react规定的而是es6要求,具体原因如下