Shopify: получить userErrors из checkoutLineItemsReplace Mutation - PullRequest
0 голосов
/ 07 мая 2020

У меня есть эта мутация, и я пытаюсь получить доступ к userErrors, но не могу получить код или поле, а сообщение - единственное, что я могу получить, или я что-то делаю не так? Мутация работает, потому что удаляются продукты, но когда возникает какая-то ошибка, мне нужно перейти к коду или полю, чтобы выполнить определенное действие c.

export const ITEM_REMOVED = gql`
    mutation checkoutLineItemsReplace($lineItems: [CheckoutLineItemInput!] !, $checkoutId: ID!) {
        checkoutLineItemsReplace(lineItems: $lineItems, checkoutId: $checkoutId) {
            userErrors {
                code
                field
                message
            }
            checkout {
                ...CheckoutFragment
            }
        }
    }
    ${CHECKOUT_FRAGMENT}
`


const [mutationItemRemoved] = useMutation(ITEM_REMOVED)

// Item removed
const itemRemoved = (lineItems) => {
    mutationItemRemoved({
        variables: {
            checkoutId: props.checkout.id,
            lineItems,
        },
    }).then(r => {
        console.log(r.data.checkoutLineItemsReplace.checkout)
        props.updateCheckout(r.data.checkoutLineItemsReplace.checkout)
    }).catch(error => {
        console.log(error.code) // undefined
        console.log(error.field) // undefined
        console.log(error.message)
    })
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...