gpt4 book ai didi

javascript - 如果项目在 javascript 对象内,如何将其插入数组 [state.lastValue.push 不是函数]

转载 作者:行者123 更新时间:2023-11-30 08:26:52 26 4
gpt4 key购买 nike

我正在 reactjs 中的 reducer 中将一些值更新为 javascript object,如下所示。

这是更新前的对象

state = {
result:1,
lastval: []
}

这就是我要更新它的方式,

state = {
...state,
result:state.result + 400,
lastval: result.lastval.push(20)
}

所以这给了我一个错误:state.lastValue.push is not a function。但如果我像下面那样做就没问题,

state = {
...state,
result:state.result + 400,
};
state.lastval.push(20);

这很好。这是什么原因。

最佳答案

像这样更新你的状态

state = {
...state,
result:state.result + 400,
lastval: [...state.lastval, 20]
}

lastval: [...state.lastval, 20] 将解构 state.lastval 数组中的所有内容并添加 20到它并再次将它包装在一个数组中。

有关 [...state.lastval] 的更多信息,请阅读 What is the meaning of this syntax "{...x}" in Reactjs

关于javascript - 如果项目在 javascript 对象内,如何将其插入数组 [state.lastValue.push 不是函数],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44255143/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com