Reactjs 在graphql/relay中维护有序列表
我想按特定顺序显示任务列表。问题是,用户应该能够更改顺序并将其保存到graphql(用户还可以从列表中添加和删除任务)。目前,我们已经将该列表实现为中继连接,添加/删除/更新工作正常。以下是我们正在考虑的:Reactjs 在graphql/relay中维护有序列表,reactjs,graphql,relayjs,Reactjs,Graphql,Relayjs,我想按特定顺序显示任务列表。问题是,用户应该能够更改顺序并将其保存到graphql(用户还可以从列表中添加和删除任务)。目前,我们已经将该列表实现为中继连接,添加/删除/更新工作正常。以下是我们正在考虑的: 使graphql返回一个有序列表。然后将该列表复制到组件中的本地状态,并在那里对列表重新排序。然后将更改通知graphql 使graphql在所有任务上返回一个数字,即排序顺序 使graphql返回一个链表。因此,每个任务都会引用列表中的下一个任务 在我看来,每一个都有一些问题。对于有序
- 使graphql返回一个有序列表。然后将该列表复制到组件中的本地状态,并在那里对列表重新排序。然后将更改通知graphql
- 使graphql在所有任务上返回一个数字,即排序顺序
- 使graphql返回一个链表。因此,每个任务都会引用列表中的下一个任务
使用继电器/graphql/react时,哪种解决方案最好?其他解决方案也非常受欢迎。我们沿着这条道路创建了一个单独的突变,用于将一个项目移动到另一个项目:
- 常规
查询返回一个没有任何get
键或类似键的有序列表order
- 通过
或moveBefore
变异来移动项目,返回新排序的列表。参数是新的moveAfter
和itemToMove
relativeTarget
moveAfter(itemToMove:ID!,itemtomovafter:ID!):Item[]
在另一个项目具有相同的签名和行为之前移动一个项目,只是服务器端逻辑有点不同
由于我们没有使用继电器,我无法评论如何使继电器意识到这些变化