如何在 Reactjs 中的状态对象内将值添加到数组中
How to prepend a value to an array inside the object of state in Reactjs
我的初始状态为:
this.state = {
transition:{
completedStages:[]
}
}
我想要实现的是,在函数调用中,我可以为 completedStages
更新我的状态,这样每次更新状态时,值都会预先添加到数组中。喜欢:
this.state = {
transition:{
completedStages:[SR, RR, BR]
}
}
为此,我尝试的是:
let completedStages = [...this.state.transition.completedStages];
completedStages.unshift('SR');
this.setState({
transition:{
completedStages:[completedStages]
}
})
这弄乱了我的输出,并将每个添加的数组值成对地作为键。我如何理解这种情况?
就这样加上吧。您可以使用setState的函数方式:
this.setState(prevState => ({
transition:{
completedStages:['SR', ...prevState.transition.completedStages]
}})
你可以试试:
this.setState((state) => {
return {
transition: {
...state.transition,
completedStages: ['SR', ...state.transition.completedStages]
}
}
})
我的初始状态为:
this.state = {
transition:{
completedStages:[]
}
}
我想要实现的是,在函数调用中,我可以为 completedStages
更新我的状态,这样每次更新状态时,值都会预先添加到数组中。喜欢:
this.state = {
transition:{
completedStages:[SR, RR, BR]
}
}
为此,我尝试的是:
let completedStages = [...this.state.transition.completedStages];
completedStages.unshift('SR');
this.setState({
transition:{
completedStages:[completedStages]
}
})
这弄乱了我的输出,并将每个添加的数组值成对地作为键。我如何理解这种情况?
就这样加上吧。您可以使用setState的函数方式:
this.setState(prevState => ({
transition:{
completedStages:['SR', ...prevState.transition.completedStages]
}})
你可以试试:
this.setState((state) => {
return {
transition: {
...state.transition,
completedStages: ['SR', ...state.transition.completedStages]
}
}
})