簡體   English   中英

處理對象數組時如何構造GraphQL突變

[英]How to structure a GraphQL mutation when dealing with an array of objects

我正在使用Apollo Client並嘗試構建一個提交對象的突變,該對象的一部分是子類型的數組,該數組的大小需要動態變化,但是我找不到任何有關如何正確構建此對象的文檔。

這是我使用手動類型的數組進行的突變,效果很好。

const SET_TEMPLATE = gql`
mutation setTemplate( 
    $id: String,
    $name: String, 
    ) {
    setTemplate(
        id: $id
        input: {
            name: $name
        }
        data: [
            {
                name: "Branded"
                format: "String"
                canExpand: false
                data: {}
            },
            {
                name: "Assigned User"
                format: "String"
                canExpand: false
                data: {}
            },
            {
                name: "Assigned Users"
                format: "String"
                canExpand: false
                data: {}
            }
        ]) {
        name
        author
        data {
            name
            format
            data
        }
    }
}
`

下面是我想要實現的偽。

const SET_TEMPLATE = gql`
mutation setTemplate( 
    $id: String,
    $name: String, 
    $data: FieldInput 
    ) {
    setTemplate(
        id: $id
        input: {
            name: $name
        }
        data: [
            $data
        ]) {
        name
        author
        data {
            name
            format
            data
        }
    }
}
`

我應該跟隨這樣的事情,還是有一種更簡單的方法? React-Apollo的動態突變文件

這是可能的,您在突變變量清除中僅存在一個小問題。
代替$data: FieldInput聲明為$data: [FieldInput]
您想要實現的結果查詢如下所示:

const SET_TEMPLATE = gql`
mutation setTemplate( 
    $id: String,
    $name: String, 
    $data: [FieldInput]
    ) {
    setTemplate(
        id: $id
        input: {
            name: $name
        }
        data: $data) {
        name
        author
        data {
            name
            format
            data
        }
    }
}
`

暫無
暫無

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

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