代码之家  ›  专栏  ›  技术社区  ›  HasanG Joe Dabones

在react组件构造函数中分配空状态的函数

  •  2
  • HasanG Joe Dabones  · 技术社区  · 6 年前

    我发现了一些旧代码,它们用来在构造函数中分配空状态。是否有任何函数或整个构造函数可以删除?由于没有其他代码,我看不出有任何意义的构造函数。

    export default class MyComponent extends React.Component{
        constructor(props){
            super(props);
    
            this.state = {};
        }
    
        render() {
            return (<div title={this.state.title}></div>);
        }
    }
    
    2 回复  |  直到 6 年前
        1
  •  1
  •   Arman Charan    6 年前

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

    this.state == null 如果你不给它下定义。

    因此,将默认值应用于 state 如果您想安全引用任何子属性,而不检查它们是否存在,则会有所不同。

        2
  •  1
  •   Shubham Khatri    6 年前

    可以安全地删除构造函数,因为您没有初始化任何状态值,并且只在初始化后才使用它。对于您来说,在渲染中使用state时仍然需要它。只需要在要初始化某些状态值或类变量时使用构造函数。然而 babel-plugin-transform-class-properties plugin,您可以将state指定为类对象本身,就像

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