我发现了一些旧的代码,这些代码曾经用来在构造函数中分配空状态。它具有任何功能或整个构造函数都可以删除吗?由于没有其他代码,因此我看不到有构造函数。
export default class MyComponent extends React.Component{
constructor(props){
super(props);
this.state = {};
}
render() {
return (<div title={this.state.title}></div>);
}
}
答案 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
应用默认值确实会有所不同。