【发布时间】:2019-02-20 05:15:08
【问题描述】:
我正在使用 Apollo Client 并且正在学习 Typescript。我有一个带有此更新道具的Mutation 组件:
(cache, { data: { createTask } }) => {
const allTasks = cache.readQuery({ query: ALL_TASKS }).allTasks;
}
我得到两个编译错误:
Object is possibly 'null'.
Property 'allTasks' does not exist on type '{}'.
我理解大意。 readQuery 可能会返回 null(这很容易混淆,因为文档让我相信当没有找到结果时会引发错误 (https://www.apollographql.com/docs/react/advanced/caching.html#readquery)。
如何让编译器让我从readQuery 的结果中读取属性allTasks?
另外,仅供参考,我尝试运行 console.log(cache.readQuery({ query: ALL_TASKS })) 并确认那里确实存在有效数据,并带有一个名为的属性。
【问题讨论】:
标签: typescript react-apollo apollo-client