平时初始化的时候我都是用的
constructor(props) {
super(props);
// 初始化
this.state = {}
}
今天看到别人写的我没见过的,
constructor(props) {
super(props);
// ...
this.stream = null;
this.video = null;
// ...
}
请问上面两种初始化有什么区别?
我印象中出现this.xxx
的时候,这个 xxx
应该是一个方法(<Component onClick={this.doSth}/>
)
他这里的 this.stream = null;
我可以直接拿来用吗?比如
修改 this.stream=100
或者
取值 if(this.stream === 100) //..
这样的?
第一个能看懂么,能看懂,你就按第一个理解就可以了.
下面这里的
this.stream
this.video
可以不写,直接用.只是为了提高代码的可读性,让阅读代码的人知道,在这个组件里面挂载了这几个属性.
如果组件里面有用到自定义的属性,这么写会很友好,提高代码的可读性,防止给阅读此代码的人(包括自己)莫名的惊喜.