如何使用SWR更改嵌套数组的复杂对象?

GeraltDieSocke

TL; DR:

我如何在嵌套数组中传播一个新对象,例如如何 data.posts.votes 同时保留所有现有状态 data

完整信息:

我获取的数据如下所示:

在此处输入图片说明

我想拥有一个upvote功能,可以将新vote对象添加votes上面的屏幕截图中数组中。

我现在真的没有计划如何在mutate函数中执行以下操作swr

现在我有这样的东西,但是那行不通:

mutate(
    `/api/subreddit/findSubreddit?name=${fullSub.name}`,
    (data) => {
      console.log(data);
      return {
        ...data,
        posts: (data.posts[postid].votes = [
          ...data.posts[postid].votes,
          { voteType: "UPVOTE" },
        ]),
      };
    },
    false
  );

我如何乐观地对此进行更新?

塔吉·哈瓦里(Taghi Khavari)

我认为您的方法应该是这样的:

mutate(
  `/api/subreddit/findSubreddit?name=${fullSub.name}`,
  async (data) => {
    console.log(data);
    return {
      ...data,
      posts: data.posts.map((post) => {
        if (post.id === postid) {
          return {
            ...post,
            votes: [...post.votes, { voteType: "UPVOTE" }],
          };
        } else {
          return post;
        }
      }),
    };
  },
  false
);

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从嵌套对象构建嵌套数组?

如何使用jQuery在JavaScript中循环嵌套数组对象

如何使用lodash更新对象的嵌套数组

如何使用Python创建JSON对象的嵌套数组?

如何使用Swift Object Mapper映射对象的嵌套数组?

使用 localStorage 中的嵌套数组对复杂对象进行字符串化和解析

重组复杂的嵌套数组

如何更改嵌套数组中的值

如何使用最新的MongoDB C#驱动程序根据多个条件删除复杂数组对象的嵌套数组中的元素?

如何更新对象嵌套数组的值

如何过滤嵌套数组对象?

如何使用嵌套数组MongoDB C#将对象数组映射到对象属性数组

如何在javascript中更改嵌套数组对象键和相同的数组

JSON 复杂嵌套数组排序使用顺序

使用Python创建复杂的JSON,并创建条件嵌套数组

使用jQuery读取复杂的JSON嵌套数组

如何基于其他数组使用嵌套数组过滤对象数组

如何在React中正确更改对象的多个嵌套数组的状态?

如何通过在mongo中过滤嵌套数组的嵌套数组来查询对象的嵌套数组

在PHP中如何使用嵌套数组的tke键更改数组的键

如何使用嵌套数组加载 CSV

如何使用 useReducer 更新嵌套数组?

如何使用Lodash过滤嵌套数组?

如何使用jQuery遍历嵌套数组

如何使用 postgresql 构造嵌套数组

Excel VBA:如何使用嵌套数组

如何使用 setState 填充嵌套数组?

如何使用Mongoose更新嵌套数组?

如何使用每个嵌套数组