多次调用graphql突变后保持多个加载状态



我在应用程序中使用react和react apollo,并有一个问题。我有一个包含用户列表的页面。每一项都包含"+"按钮。当我点击项目时,我想显示旋转器,直到突变完成。

你能建议我更好的解决方案为每个突变调用保留loading吗?现在我只是将它存储到数组中,但我认为它可以更好地解决

需要存储一个loading进程与对应的user项之间的关系。

我建议(不知道你的要求)有一个loadings数组,在那里你添加一个loading item包含user idonClick,并删除loading item完成后。如果需要,loading item也可以包含其他信息。

您可能还需要存储(可能是异步的)processloading item(或user item)之间的关系,以便您知道哪个loading item已经完成。

你可以通过

  1. process接收process id,当你调用它时,并将该id与user item id一起存储在loading item中,
  2. 或者你可以在调用process时将loading id存储为闭包,并删除相应的loading item,例如在.then((xyz)=>{... removeLoading(processId) ...})中。

最新更新