Как получить ответ мутации? - PullRequest
0 голосов
/ 05 марта 2020

Я успешно выполняю эту мутацию в моем приложении reactjs, но хочу получить ответ, который возвращает graphql, но возможно ли это в моем приложении reactjs? 1001 *

Код реагирования:

import { useMutation } from "@apollo/react-hooks";      

const [addStoreToDB, { error }] = useMutation(addStoreMutation);

  if (error) {
    console.log("error:", error);
    return <p>Error :(</p>;
  }

  const handleSubmit = event => {
    event.preventDefault();
    dispatch(addStoreAction(newStore));
    addStoreToDB({
      variables: {
        name: newStore.name,
        address: newStore.address,
        description: newStore.description,
        phone: newStore.phone,
        picture1: newStore.picture1
      },
      refetchQueries: [{ query: getStoresQuery }]
    });
  };

в GraphQL:

mutation {
  addStore (name:"Lorem ipsum", address:"Lorem ipsum", description:"Lorem Ipsum", phone:"555555", picture1:"https://lorem-ipsum") {
    id
  }
}

1 Ответ

0 голосов
/ 07 марта 2020

мутационная функция, возвращаемая useMutation, является обещанием. так что вы можете использовать .then и .catch как

 addStoreToDB({...stuff})
     .then(response => {
      //handle response
      })
     .catch(err =>{
     //handle error
    })
...