我正在使用graphql进行工作,在一个用例中,我正在使用useMutation hook
进行添加,插入或删除之类的突变。
所以在这里我有输入字段和按钮,所以单击我想将数据保存在运行良好的db中,
我的主要观点是在useMutation中处理react-apollo-graphql
中的错误的最佳方法是什么
目前,我正在使用Promise处理错误,但我知道这不是最好的方法
我在做什么
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);
});
});
};
答案 0 :(得分:1)
我只是将其包装在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
}
};