如何在Redux状态的嵌套数组中仅更新一个值?

格拉济亚诺杰夫

考虑以下状态:

const initState = {
    id: {
        data: null, 
        isFetching: false, 
        fetchingError: null
    },  
    bookmarks: {
        IDs: {
            news: [], 
            opps: [],
            posts: []           
        },
        data: {
            news: [], 
            opps: [],
            posts: []
        },      
        isFetching: false, 
        fetchingError: null
    },
    role: null,
    membership: null,   
}

如何更新只是posts 对数组ÌDs的数组bookmarks阵列?我尝试了这个:

case 'SET_USER_BOOKMARKED_POSTS':
    return {
        ...state, 
        bookmarks: {
            IDs: {
                posts: action.payload
            }
        }
    }

但是,当我将状态记录到控制台时,该IDs数组仅包含posts,而oppsandnews数组不再存在。

伊索托夫

您需要破坏所有内部结构:

case 'SET_USER_BOOKMARKED_POSTS':
    return {
        ...state, 
        bookmarks: {
            ...state.bookmarks,
            IDs: {
                ...state.bookmarks.IDs,
                posts: action.payload
            }
        }
    }

但这不是很方便,最好用lodash合并

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在 MongoDB 中的另一个嵌套数组中更新嵌套数组中的对象

如何在mongodb的对象中更新我的另一个嵌套数组的嵌套数组

如何在嵌套数组中更新一个文档

如何在 React 中的状态数组中仅输出数组的一个值?

如何在mongoDB或Mongoose中更新嵌套数组的值

如何根据另一个值在嵌套数组中查找值?

一个如何更新猫鼬模型嵌套数组中的数字

React redux - 更新状态中的嵌套数组

如何在PHP中使用多个数组中的一个嵌套嵌套数组生产JSON(用于匹配值)

如何更新嵌套数组中的值?

如何在React状态下更新嵌套数组?

猫鼬-如何仅填充每个对象嵌套数组中的第一个元素

如何根据php中嵌套数组的第一个值对多维数组进行排序?

更新作为嵌套在 redux 状态的另一个数组中的数组的属性的问题

带有jsonb_set()的UPDATE仅影响嵌套数组中的一个对象

如何仅更新关联数组中嵌套对象的一个特定属性

如何在Angular JS中监视一个特定的嵌套数组项属性中的更改?

我想根据嵌套数组中的值返回一个多维数组

如何在一个数组中有多个嵌套数组

如何在嵌套的对象数组中找到一个值并更新它?

Javascript / Typescript从另一个嵌套数组中的数据更新数据

如何在R中的重复项数组中仅保留一个值(最新值)

MongoDb仅更新数组中的一个值

如何将嵌套数组推入一个数组中

如何根据第一个和最后一个嵌套数组mongo中的值过滤包含具有3级嵌套数组的文档的集合中的数据

如何合并具有相同键的一个或多个嵌套数组值

如何在MongoDB中更新嵌套数组中的数据

如何在MSSQL中更新JSON中的嵌套数组

如何在已知索引值的Node.js + Mongo DB中更新嵌套数组