我正在尝试从我的状态中将一个变量推送到名为list的数组中。但是它会抛出一个错误,说undefined不是函数。然而,当我将push改为concat时,它可以工作。但我想使用push因为它更快。我该怎么解决这个问题?
AsyncStorage.getItem("one").then((value) => {
if (value === "true"){
this.setState({
list: this.state.list.push({
name: 'Butter',
checkbox: 1,
})
})
}
else {
this.setState({
unavailable: this.state.unavailable.push(
"butter"
)
})
}
});
我的列表声明如下:
constructor() {
super()
this.state = {
unavailable: [],
list: []
}
}
this.state.list.map
在哪里?请提供精确的错误信息。 - Rafaelpush()
,它会改变被调用的数组。在 React 中,您不应该直接改变状态。 - Jayce444