如何在我的数组中添加元素arr[]
的redux状态在减速机中?我正在这样做-
import {ADD_ITEM} from '../Actions/UserActions'
const initialUserState = {
arr:[]
}
export default function userState(state = initialUserState, action)
{
console.log(arr);
switch (action.type)
{
case ADD_ITEM:
return {
...state,
arr: state.arr.push([action.newItem])
}
default:
return state
}
}
如果需要插入阵列中的特定位置,可以执行以下操作:
case ADD_ITEM :
return {
...state,
arr: [
...state.arr.slice(0, action.pos),
action.newItem,
...state.arr.slice(action.pos),
],
}
推送不返回数组,而是返回数组的长度(docs),因此您要做的是用数组的长度替换数组,丢失对它的唯一引用。试试这个:
import {ADD_ITEM} from '../Actions/UserActions'
const initialUserState = {
arr:[]
}
export default function userState(state = initialUserState, action){
console.log(arr);
switch (action.type){
case ADD_ITEM :
return {
...state,
arr:[...state.arr, action.newItem]
}
default:return state
}
}
两种不同的选项可以将项添加到数组中而不发生突变
case ADD_ITEM :
return {
...state,
arr: [...state.arr, action.newItem]
}
或
case ADD_ITEM :
return {
...state,
arr: state.arr.concat(action.newItem)
}
问题内容: 如果我在PHP中定义了一个数组,例如(我没有定义其大小): 我是否可以使用以下内容简单地添加元素? PHP中的数组没有add方法,例如? 问题答案: 您所描述的两种方法都可以。 是相同的:
问题内容: 我已经有了一个状态: 现在,我想用新信息对其进行更新。因此,向其添加另一个div。 像这样: 我该怎么做?或者我需要从零开始设置新状态 问题答案: 我认为以组件状态存储jsx组件不是一个好主意。我认为您应该仅以呈现组件所需的状态保存数据。 如果您真的想在状态中存储jsx,为什么不将“对话”属性定义为数组?然后,您可以向其中添加新组件。 但是最好只存储数据,例如“ first”和“ ne
本文向大家介绍在PHP中,如何将对象元素添加到数组?,包括了在PHP中,如何将对象元素添加到数组?的使用技巧和注意事项,需要的朋友参考一下 代码如下- 示例 输出结果 这将产生以下输出- 创建对象,然后将其推到数组的末尾(以前存在)。 另类
我对react很陌生(我只使用过abit类),我想把输入值添加到并在屏幕上写出来,但我的大脑被锁住了,我不知道如何...
各位!我刚刚开始学习wift,如果这个问题很愚蠢,我很抱歉。我想使用循环向数组“uu”添加值。然而每次它都会覆盖“uu”。 请帮忙,谢谢! 我的代码
问题内容: 想要向现有数组添加或追加元素 现在我想用我发送的新值动态更新系列。 就像我发送3个更新系列 再次,如果我发送4更新系列作为 再次,如果我发送1个更新系列,依此类推 怎么做???? 我在其他函数中每5分钟生成一个整数,并希望发送以更新数组。 问题答案: 数组的长度在Java中是不可变的。这意味着一旦创建数组便无法更改其大小。如果使用2个元素初始化它,则其长度为2。但是,您可以使用其他集合