Apollo GraphQL - data有时是未定义的,它保持这样



有时阿波罗客户端决定获取数据,有时它给我未定义并保持这种状态-即使查询在后端完全工作并且在调试器中我看到查询已启动。为什么?控制台没有错误,一切正常。

编辑:如果我启用快速刷新,我在组件中改变了一些东西,它将神奇地获取数据,但几乎从来没有在第一次应用渲染时获取数据。

我使用React-Native。

const TEST = gql`
query NotesFetch {
NotesFetch {
notes {
description
id
status
images {
filename
mimetype
encoding
uri
}
timestamp
username
}
}
}
`;
const { loading, error, data } = useQuery(TEST);
console.log(data) - sometimes okay, sometimes it stays undefined and doesn't change

组件:

<View style={styles.cards}>
{data && data.NotesFetch.notes &&
data.NotesFetch.notes.map((p: any) =>  <NotesCard archive={true} key={p.id} {...p} />
)
}
</View>

这个问题直接来自于Apollo Client库以及它处理React Native的可观察对象的方式。更新到最新版本,因为它已于2022年5月16日更新- 3.6.4。

提供@apollo/client//*.cjs.native.js版本@apollo/客户//*。CJS包(包括依赖- ts-invariant)和zen-observable-ts)来帮助React Native的Metro捆绑器自动解析CommonJS入口点模块。这些变化应该呈现我们在v3.5.4部分中给出的不必要的建议吗下面是关于metro.config.js的。@ benjamin in #9716

最新更新