如何设置状态嵌套在对象数组中的数组

剩下

这是我的状态

this.state = {
    notification: [{
            from: {
                id: someid,
                name: somename
            },
            message: [somemessage]
        },
        {..},
        {..},
    ]
}

现在,如果我从someid收到新消息,则必须将该新消息推送到someid的消息数组中

我尝试以不同方式推送该消息,但没有任何效果

我以这种方式尝试过,但是我无法将新消息推送到消息数组中

if (this.state.notification) {
    for (let q = 0; q < this.state.notification.length; q++) {
        if (
            this.state.notification[q] &&
            this.state.notification[q].from &&
            this.state.notification[q].from.id === r.from.id
        ) {
            this.setState({
                notification: [
                    ...this.state.notification[q].messages,
                    this.state.notification[q].messages.push(r.message),
                ],
            });
            return console.log(this.state.notification[q].messages)
        }
    }
} else {
    this.setState({
        notification: [{
            from: r.from,
            messages: [r.message]
        }, ]
    });
    return console.log(JSON.stringify(this.state.notification));
}
Neoflies

首先,我认为将状态构造为2d数组不是一个好主意。但是你可以试试看

const pushMessage = (someId, someMessage) => {
  this.setState({
    notifications: this.state.notifications.map((notification) => {
      if (notification.from.id === someId) {
        return {
          ...notification,
          messages: [...notification.messages, someMessage],
        };
      }
      return notification;
    }),
  });
};

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

更新嵌套在对象内部的数组状态(ReactJS)

来自分类Dev

如何渲染属性嵌套在对象嵌套数组中的元素数组?

来自分类Dev

如何渲染属性嵌套在对象嵌套数组中的元素数组?

来自分类Dev

从嵌套在对象中的数组中删除对象

来自分类Dev

如何通过嵌套在对象数组的属性中的对象属性的值在对象数组中查找多个索引?

来自分类Dev

嵌套在对象数组中的Populate()ref

来自分类Dev

解决嵌套在对象数组中的承诺

来自分类Dev

嵌套在对象数组解构中并赋值

来自分类Dev

如何使用_.where通过ID查找嵌套在对象数组中的对象?

来自分类Dev

如何在React Admin的show / ArrayField组件中呈现嵌套在对象内部的数组的内容?

来自分类Dev

从嵌套在对象属性内的数组中提取数据

来自分类Dev

JavaScript:如何通过嵌套在对象2级深处的值过滤数组

来自分类Dev

Javascript:找不到嵌套在对象中的数组的最大值

来自分类Dev

如何在对象状态反应中删除对象数组

来自分类Dev

在对象的嵌套数组中查找父对象。如何?

来自分类Dev

如何使用骨干网在对象的特定嵌套数组中设置新模型信息?

来自分类Dev

如何在对象数组中设置每个对象的属性?

来自分类Dev

嵌套在对象中的函数如何知道其路径?

来自分类Dev

如何从嵌套在数组对象内部的数组中删除重复的对象值?

来自分类Dev

我正在尝试使用json数据更新嵌套在数组中的对象中的状态...

来自分类Dev

访问嵌套在字典中的数组对象中的数组

来自分类Dev

在对象的嵌套数组中过滤

来自分类Dev

如何更新嵌套在哈希中的数组?

来自分类Dev

访问嵌套在 JSON 对象中的数组中的对象值

来自分类Dev

将对象嵌套在嵌套数组中

来自分类Dev

如何显示嵌套在多个数组和对象中的对象的forEach

来自分类Dev

如何访问和循环嵌套在另一个对象内部的对象中的数组?

来自分类Dev

如何合并具有相同ID的对象和嵌套在数组中的对象对应的数组对象

来自分类Dev

如何为嵌套在数组中的文档中的字段设置唯一约束?

Related 相关文章

  1. 1

    更新嵌套在对象内部的数组状态(ReactJS)

  2. 2

    如何渲染属性嵌套在对象嵌套数组中的元素数组?

  3. 3

    如何渲染属性嵌套在对象嵌套数组中的元素数组?

  4. 4

    从嵌套在对象中的数组中删除对象

  5. 5

    如何通过嵌套在对象数组的属性中的对象属性的值在对象数组中查找多个索引?

  6. 6

    嵌套在对象数组中的Populate()ref

  7. 7

    解决嵌套在对象数组中的承诺

  8. 8

    嵌套在对象数组解构中并赋值

  9. 9

    如何使用_.where通过ID查找嵌套在对象数组中的对象?

  10. 10

    如何在React Admin的show / ArrayField组件中呈现嵌套在对象内部的数组的内容?

  11. 11

    从嵌套在对象属性内的数组中提取数据

  12. 12

    JavaScript:如何通过嵌套在对象2级深处的值过滤数组

  13. 13

    Javascript:找不到嵌套在对象中的数组的最大值

  14. 14

    如何在对象状态反应中删除对象数组

  15. 15

    在对象的嵌套数组中查找父对象。如何?

  16. 16

    如何使用骨干网在对象的特定嵌套数组中设置新模型信息?

  17. 17

    如何在对象数组中设置每个对象的属性?

  18. 18

    嵌套在对象中的函数如何知道其路径?

  19. 19

    如何从嵌套在数组对象内部的数组中删除重复的对象值?

  20. 20

    我正在尝试使用json数据更新嵌套在数组中的对象中的状态...

  21. 21

    访问嵌套在字典中的数组对象中的数组

  22. 22

    在对象的嵌套数组中过滤

  23. 23

    如何更新嵌套在哈希中的数组?

  24. 24

    访问嵌套在 JSON 对象中的数组中的对象值

  25. 25

    将对象嵌套在嵌套数组中

  26. 26

    如何显示嵌套在多个数组和对象中的对象的forEach

  27. 27

    如何访问和循环嵌套在另一个对象内部的对象中的数组?

  28. 28

    如何合并具有相同ID的对象和嵌套在数组中的对象对应的数组对象

  29. 29

    如何为嵌套在数组中的文档中的字段设置唯一约束?

热门标签

归档