我的标准化商店带有列表和ID映射:

{
  "byId": {
    "images": {
      "10984": {"id": "10984", "src": "/img.png"}
    }
  },
  "myImages": [
    "10948"
  ]
}

现在,我想创建一个新图像,并将其添加到列表中。问题是在将其发送到服务器之前,我没有它的ID。所以我可以生成一个随机ID
      "tempid19048": {"id": "tempid19048", src: "/img.png"}
  "myImages": [
    "10948",
    "tempid19048"
  ]

然后,将其保存到服务器并返回ID,然后调度操作。我可能在该州的多个部分使用了tempid19048

用新ID更新所有内容的明智方法是什么?我是不是都错了?

最佳答案

您可以将"myImage"中的ID用作键值对。

"myImages": {
   "10948": "10948",
   "tempid19048": "tempid19048"
}

现在您想使用的地方都可以用作
myImages["tempid19048"]

这将为您提供其当前值"tempid19048"
而且,如果您需要更改此tempId,则只需更改值,并且键保持不变。
"myImages": {
   "10948": "10948",
   "tempid19048": "newServerID"
}

因此,无论您使用tempID的地方数量如何,现在只需要在一个地方更新即可。

09-25 19:27