问题描述
我正在使用@apollo/client
v3来获取一些数据。在Chrome的“网络”标签(http结果)中,我可以看到它返回了数据和错误(我并不担心该错误,我知道为什么会这样。):
{
data: {workItems: [,…]},…},errors: [{message: "Error trying to resolve position."
}
但是在我的应用中,data
返回的是未定义的。
这是我的客户端配置:
export const graphqlClient = new ApolloClient({
cache: new InMemoryCache(),link: ApolloLink.from([
onError(({ graphQLErrors,networkError }) => {
if (graphQLErrors) {
graphQLErrors.forEach(error =>
console.log(
`[GraphQL error]: ${JSON.stringify(error,null,2)}`
)
)
}
if (networkError) {
console.log(`[Network error]: ${networkError}`)
}
}),apolloLink
])
})
我的查询:
gql`
query WorkItems($ppm: String) {
workItems(where: { ppm: $ppm }) {
...WorkItemKanban
}
}
${workItemFragment.workItemKanban}
`
const useWorkItemListDataGraphql = (args: {
query: DocumentNode
variables: { parent: string } | { ppm: string }
}) => {
const { variables,query } = args
const { data,error,loading,refetch } = useQuery<
{ workItems: WorkItem[] },{ parent: string } | { ppm: string }
>(query,{
pollInterval: 180000,variables
})
// data returns undefined,but error shows the same error as in Chrome's network tab
return { ...data,refetch }
}
我不确定从哪里开始找出问题所在。在没有错误的情况下,可以正常加载数据,但是我认为这不是正常现象,应始终按我在Chrome标签页中看到的方式加载数据。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)