arrays - 如何在 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]
}
})
这弄乱了我的输出,并把每个添加的数组值都成对地作为键。我如何理解这种情况?
解决方案
你可以试试:
this.setState((state) => {
return {
transition: {
...state.transition,
completedStages: ['SR', ...state.transition.completedStages]
}
}
})
推荐阅读
- material-design - Flutter 中的 Material Design 维度
- spss-modeler - SPSS Cloud 无法打开/创建临时文件
- c++ - 将 int32 重新解释为浮动
- python - sampled_softmax_loss 如何从 softmax 嵌入矩阵中知道要使用哪个嵌入?
- python - 合并数据框
- typescript - 如何在离子列表中添加广告横幅
- circleci - CircleCi 2.0 在子目录中使用项目
- c++ - dlopen(RTLD_NOLOAD) 在 dlclose 之后仍然返回不为空
- python - 来自不同文本编辑器的 Python 转换
- spring - 如何在 Thymeleaf 中使用默认常量作为 url 超链接?