在 react 中对未定义的值执行 setState 是否安全



如果我这样做是否安全

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
};
}

最新更新