我很困惑。我正在尝试在setState中添加数组变量。我的代码工作正常但想在提交代码之前确认一些疑问。
在状态变量中存储数组的正确方法是什么?
var names = ['Jake', 'Jon', 'Thruster'];
this.setState({
state: names
});
要么
this.setState((state) => {
state.items.push(names[0]);
return state;
});
这里有什么必要的退货声明?
有人可以解释一下这里的区别吗?我在谷歌搜索但我仍然感到困惑。
var names = ['Jake', 'Jon', 'Thruster'];
this.setState({
names //according to Airbnb rules
});
要么
this.setState({
names: names
});
this.state.names = ['Jake', 'Jon', 'Thruster'];
setState
接受第二个参数 - 回调,它将在设置State属性后调用
setState({property1: value1, ...}, () => { //some code after State changed })
第一种方法更为常见,在我看来,更容易阅读。您的代码的问题是您不需要使用密钥状态,因为您调用的函数是“设置状态”。关键应该是firstNames。
this.setState({
firstNames: names
});
您也可以像这样在函数中传递对象,因为setState将对象作为参数。
var name Object = {first Names:names}
this.setState(namesObject);
我会在这里阅读更多关于它的内容并继续做这方面的小教程,你会得到它的支持。 https://facebook.github.io/react/docs/react-component.html#setstate