在React组件构造函数中分配空状态的功能

时间:2018-07-09 07:30:59

标签: reactjs

我发现了一些旧的代码,这些代码曾经用来在构造函数中分配空状态。它具有任何功能或整个构造函数都可以删除吗?由于没有其他代码,因此我看不到有构造函数。

export default class MyComponent extends React.Component{
    constructor(props){
        super(props);

        this.state = {};
    }

    render() {
        return (<div title={this.state.title}></div>);
    }
}

2 个答案:

答案 0 :(得分:1)

可以安全地删除构造函数,因为您无需初始化任何状态值,只有在初始化后才使用它。对于您来说,在渲染中使用状态时仍然需要它。仅当要初始化某些状态值或类变量时,才需要使用构造函数。但是,使用babel-plugin-transform-class-properties插件,您可以像指定状态一样将状态指定为类对象

export default class MyComponent extends React.Component{
    state = { isVisible: true };
}

答案 1 :(得分:1)

  

“无法读取null的属性'title'”

dynamic(如果未定义)。

因此,如果要安全地引用任何子属性而不检查它们是否存在,对this.state == null应用默认值确实会有所不同。