React中如何将指定元素添加到useState管理的数组头部?
解决方案
直接调整数组拼接顺序,把{label: '선택안함', value: "NONE"}放在数组最前面,同时去掉冗余的setPickerItems(tempArr)调用(连续两次setState会被React合并,第一次赋值操作会被覆盖,完全没必要)。
修改后的fetchLifeCycle函数如下:
const fetchLifeCycle = () => { setPickerItems([{ label: '선택안함', value: "NONE" }, ...tempArr]) }
说明
- 数组展开语法
...tempArr会将tempArr内的所有元素依次放入新数组 - 将目标对象放在数组首位,就能实现把它添加到
pickerItems的头部 - 原代码里的两次
setPickerItems调用属于无效操作,React会合并连续的状态更新,第一次赋值会被第二次覆盖,只需要一次赋值就能完成需求
内容的提问来源于stack exchange,提问作者user19476497
相关产品推荐
相关产品推荐

