处理 useMutation 挂钩错误的最佳方法是什么

what is the best way to handle error in useMutation hook

我正在使用 graphql 来完成我的工作,在我的一个用例中,我正在使用 useMutation hook 来进行添加、插入或删除等突变。

所以这里我有输入字段和按钮所以点击我想将数据保存在工作正常的数据库中,

我的主要观点是在useMutation

中处理react-apollo-graphql错误的最佳方法是什么

目前我正在使用 promises 处理错误,但我知道这不是最好的方法

我做的是

    const [createDep, {loading,error}] = useMutation(ADD_DEPARTMENTS,{  // here this error I want to do something here ton handle error and loading
    update(_,result){
   console.log(result)
    }
  })
const submitDepartment = (e) => { 
    let dept_name = e.department
    console.log(dept_name)
    createDep({
      variables: { dept_name },
    }).catch((res) => {   // I do not think This is the right way to do
      const errors = res.graphQLErrors.map((error) => {
        console.log(error.message);
      });

    });
  };

我只是将它包装在一个 try / catch 范围内:

const [createDep] = useMutation(ADD_DEPARTMENTS, {     
  update(_,result){
    console.log(result)
  }
})

const submitDepartment = async (e) => { 
  let dept_name = e.department
  try {
    await createDep({variables: {dept_name}})
  } catch (err) {
    // handle error here
  }
};