我想按特定顺序显示任务列表。问题是,用户应该能够更改订单并将其保存到graphql中(用户还可以添加和删除列表中的任务)。目前我们已经实现了列表作为中继连接和添加/删除/更新工作正常。以下是我们现在正在考虑的内容:在graphql/relay中维护有序列表
- 使graphql返回一个有序列表。然后将该列表复制到组件中的本地状态,并在那里重新排列列表。然后通知graphql有关更改。
- 使graphql在所有排序顺序上返回一个数字。
- 使graphql返回一个链表。所以每个任务都有对列表中下一个的引用。
正如我所看到的,这些都有一些问题。使用有序列表并将其复制到本地状态,我们必须以某种方式处理添加/删除操作,并相应地更新本地状态。
使用数字排序顺序,如果我们使用运行数字,例如1..2..3 ..,当我们想要在数字1和2之间移动数字200时,我们必须更新许多数字。这看起来像很多更新,我不知道这是如何处理的继电器/ graphql。
随着链接列表中还有很多记录涉及改变顺序,我不知道这是如何处理接力突变。也许从变异中返回3个任务(所有将指针更改为列表中下一个的任务)并在“FIELDS_CHANGE”配置中指定?
这是使用relay/graphql/react时的最佳解决方案吗?其他解决方案非常受欢迎。