在网络选项卡中访问 GraphQL 变量

问题描述 投票:0回答:1

我正在使用 Graphql Apollo、React 和 JS。我们在后端有表单验证,当尝试在屏幕上显示这些错误以获得更好的用户体验时,我似乎找不到访问它们的方法。在我的浏览器控制台中,我收到的错误只是“ApolloError”,但在网络选项卡中,我可以看到我试图在前端传达的错误消息。有什么简单的方法可以访问它?这就是我目前的代码。在“setAlerts”中,如果我能够访问网络选项卡,这是获取错误消息的路径。谢谢

 try {
                const { data } = await addUser({
                    variables: { username, email, password }, 
                })
                if (data.addUser === null) {

                    setAlerts(data.errors[0].message, "inline text-groove-red")
                }
                alert('Account creation successful!')
                Auth.login(data.addUser.token);
                navigate('/login')
            } catch (err) {
                console.error(err)
            }

enter image description here enter image description here

尝试记录“ApolloError”以及“数据”。当我在 catch 块中记录数据时,它返回为未定义。

javascript graphql
1个回答
0
投票
const { data, errors } = await addUser({
  variables: { username, email, password }, 
  errorPolicy: 'all',
})

允许您访问数据和错误。如果您对

data
不感兴趣,以防出现错误,您也可以选择
errorPolicy: 'ignore'
。无论如何,不会再抛出
ApolloError
了。

您可以查看文档了解更多详细信息。您还可以使用 ErrorLink 设置更高级的行为。

© www.soinside.com 2019 - 2024. All rights reserved.