我想按特定順序顯示任務列表。問題是,用戶應該能夠更改訂單並將其保存到graphql中(用戶還可以添加和刪除列表中的任務)。目前我們已經實現了列表作爲中繼連接和添加/刪除/更新工作正常。以下是我們現在正在考慮的內容:在graphql/relay中維護有序列表
- 使graphql返回一個有序列表。然後將該列表複製到組件中的本地狀態,並在那裏重新排列列表。然後通知graphql有關更改。
- 使graphql在所有排序順序上返回一個數字。
- 使graphql返回一個鏈表。所以每個任務都有對列表中下一個的引用。
正如我所看到的,這些都有一些問題。使用有序列表並將其複製到本地狀態,我們必須以某種方式處理添加/刪除操作,並相應地更新本地狀態。
使用數字排序順序,如果我們使用運行數字,例如1..2..3 ..,當我們想要在數字1和2之間移動數字200時,我們必須更新許多數字。這看起來像很多更新,我不知道這是如何處理的繼電器/ graphql。
隨着鏈接列表中還有很多記錄涉及改變順序,我不知道這是如何處理接力突變。也許從變異中返回3個任務(所有將指針更改爲列表中下一個的任務)並在「FIELDS_CHANGE」配置中指定?
這是使用relay/graphql/react時的最佳解決方案嗎?其他解決方案非常受歡迎。