簡體   English   中英

中繼生成的變異查詢缺少某些字段

[英]Relay generated mutation query is missing some fields

我已經設置了一個基本的Relay突變來添加用戶,但是一旦執行,它就會返回此錯誤/警告:

警告:writeRelayUpdatePayload():預期的響應有效負載包括新創建的邊緣“ changedUserEdge”及其“節點”字段。 您是否忘記了更新“ RANGE_ADD”突變配置?

我注意到中繼在突變有效負載上遺漏了changedUserEdge節點,我也不知道為什么。 我看了幾個中繼示例,但是突變的構建方式完全相同。

可以在此要點中找到該變異,我稱之為的React組件以及生成的查詢。

我用塗鴉貓鼬生成了我的GraphQL模式。

我不確定是否能夠提供幫助,您的想法對我來說似乎還不錯,所以我認為您的問題可能在服務器上。

文檔沒有明確說明,但是在執行"RANGE_ADD"類型的突變時,Relay期望節點和游標的邊緣。

游標是通過調用Relay的cursorForObjectInConnection(ArrayOfUsers, User) ,其中可以通過調用ArrayOfUsers.indexOf(User)在數組內找到ArrayOfUsers.indexOf(User)

因此,在我們添加用戶的情況下,我們調用API將其插入數據庫中,然后獲得所有用戶的列表,然后執行此操作以找到該功能的合適用戶

// mutation > outputFields > changedUserEdge...

    let selectedUser = allUsers.find(u => u.uuid === newUser.uuid)[0];
    let cursor = cursorForObjectInConnection(allUsers, selectedUser);
    resolve({
        node: selectedUser,
        cursor,
    });

我個人認為這是最難實現的方法,但是一旦獲得,它就非常簡單。 希望這可以幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM