React constructor

2018-09-07  本文已影响59人  张培_

React 中的constructor

以前一直觉得constructor必须声明,否则会造成无法获取到this.props方法,其实:

如果你不需要初始化你的state属性,也不需要bind任何方法,那么完全不需要显示写出这个构造方法。

时间

这个方法会在组件实例化的时候被调用,此时组件并没有被mount。如果这个方法被定义了,而且你还要在这个方法中写statement,那么请先进行super(props)的调用:

否则会造成this.props不存在(因为此时实例还没创建),也就是说,如果你的state初始值需要props赋值,那么请必须先进行super(props)的调用

绝对不可以这样做

constructor(props) {
 super(props);
 // Don't do this!
 this.state = { color: props.color };
}

作用

其实也可以被完全替代

上一篇下一篇

猜你喜欢

热点阅读