javascript - 需要在 redux 的 reducer 中向数组追加数据

标签 javascript reactjs redux react-redux

我正在做分页,我将在每次点击页面时获取数据。我想用以前的值附加数据。这是我当前的代码。不知道这样做。

const InitialProjects={
    projectList:[],
    error:null,
    loading:false
}

export const projects=(state=InitialProjects,action)=>{
    switch(action.type){
        case ActionTypes.FETCH_PROJECTS:
            return Object.assign({},state,{
                projectList:[],error:null,loading:true
            })
        case ActionTypes.FETCH_PROJECTS_SUCCESS:
            return {
                projectList:action.payload

            }
        case ActionTypes.FETCH_PROJECTS_FAILURE:
            return Object.assign({},state,{
                projectList:["not-found"],error:action.payload.message||action.payload.status,loading:false
            })
        default:
            return state;
    }
}

我的第一 react 是这样的

[
{
  Id:0,
Name:india
},
{
Id:1,
Name:bang
},
{
Id:3,
Name:us
},
{
 Id:5,
Name:uk
}
]

第二个响应是这样的

   [
    {
      Id:8,
    Name:india
    },
    {
    Id:12,
    Name:bang
    },
    {
    Id:19,
    Name:us
    },
    {
     Id:35,
    Name:uk
    }
    ]

请注意,id 字段可能不是连续的。 我想要在我的 redux 中有这样的东西

projectList:
0(pin): {Id:1,Name:'dewd'}
1(pin): {Id:2,Name:'tyytg'}
2(pin): {Id:5,Name:'xsx'}
3(pin): {Id:4,Name:'tyyt'}
4(pin): {Id:10,Name:'xsx'}
5(pin): {Id:17,Name:'xsx'}

感谢任何帮助。谢谢

最佳答案

您可以传播每次成功的结果。

case ActionTypes.FETCH_PROJECTS:
  return {
    ...state,
    error: null,
    loading: true,
  }
case ActionTypes.FETCH_PROJECTS_SUCCESS:
   return {
     ...state,
     projectList: [...state.projectList, ...action.payload]
    }

关于javascript - 需要在 redux 的 reducer 中向数组追加数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46151818/

相关文章:

javascript - 固定位置不适用于 ios 设备

javascript - 如何迭代第三个单元格具有 rowspan 属性的每一行

reactjs - 动态添加时未应用 Tailwind 的背景颜色

javascript - jQuery 选择器 id 就像只有一个通配符?

javascript - 数字和破折号的正则表达式

javascript - 如何像Medium一样进行拖放?

javascript - 在 React 中创建表单的最佳方式是什么?

javascript - 使用 React Hooks 使用 RTK 查询进行链式查询/变异调用

reactjs - 使用react-router-redux,如何以编程方式重定向到URL

javascript - 将 queryParameters 与 Redux 状态同步并为功能组件使用react路由器