如果我这样做是否安全
this.setState({
data: data
});
无需在 react 的构造函数方法中添加数据 -
constructor(props) {
super(props);
this.state = {
data:null
};
}
因为没有在状态中声明也可以正常工作,但是当我说
constructor(props) {
super(props);
this.state = {
data
};
}
这会产生错误。
如果我不会在构造函数中的状态中添加数据,它可以正常工作,安全吗?
最佳做法是在使用之前声明状态。 在这里this.state = { data };
意味着this.state = { data: data }
,所以它会发生data is undefined.
这会产生错误,因为在这种情况下data
不是状态对象的属性,而是您在状态对象中分配的变量
constructor(props) {
super(props);
this.state = {
data
};
}