【发布时间】:2020-02-14 15:59:14
【问题描述】:
嗨,这是我的 Apollo 客户端的一部分
const errorLink = onError(({ graphQLErrors, networkError, operation }) => {
if(graphQLErrors) {
graphQLErrors.forEach(({ message, location, path }) => {
if (message === 'Pleage Re-Sign In') {
cookies.remove('userToken')
cookies.remove('hshashes')
MoveME('/')
}
if (message === 'Unathorized') {
return MoveME('/')
}
if (message === 'Access Denied') {
return MoveME('/dashboard/home')
}
console.log(`[GraphQL Error] Message: ${message}, location: ${location}, path: ${path}`)
})
}
if(networkError){
console.log(`
[network error ${networkError.message}] Operation: ${operation.operationName}
`)
}
})
我想知道是否可以向服务器调用 Mutation 以在我在后端创建的数据库中记录日志。我可以在应用程序中调用突变吗?通常我会使用 Apollo-React-hooks 中的“useMutation”,但这只能在 React 组件中调用。我已经通过将用户移动到另一个页面来完成此操作,例如:“localhost:3000/test”在该组件中我尝试使用 useEffect 并使用空数组的第二个参数调用 useEffect 中的突变,以便它调用一次然后将用户重定向到我想要的位置。但这不好。有没有其他方法可以做到这一点,这是最佳做法?
英语不好请见谅 :)
【问题讨论】:
标签: javascript reactjs graphql