小编Jea*_*ant的帖子

删除给定查询和每组变量的Apollo Client缓存

我有一个基于getAllItems查询的过滤项目列表,它将过滤器和一个order by选项作为参数.

创建新项目后,我想删除此查询的缓存,无论传递什么变量.我不知道该怎么做.

我不认为更新缓存是一种选择.Apollo Client文档中提到的方法(在变异后更新缓存,refetchQueries和更新)似乎都需要一组给定的变量,但由于过滤器是一个复杂的对象(带有一些文本信息),我需要更新缓存对于先前提交的每组给定变量.我不知道该怎么做.另外,只有服务器确实知道这个新项目如何影响分页和排序.

我不认为fetch-policy(例如将其设置为cache-and-network)是我正在寻找的,因为如果在创建新项目后访问网络是我想要的,那么当我只是过滤列表时(输入要搜索的字符串),我想保持默认行为(cache-only).

client.resetStore会为所有类型的查询(不仅是getAllItems查询)重置商店,所以我不认为这也是我正在寻找的.

我很确定我在这里遗漏了一些东西.

graphql react-apollo apollo-client

15
推荐指数
2
解决办法
3268
查看次数

打字稿类型推断和文字类型

为什么string在第一个示例中Typescript可以推断类型,而在第二个示例中它能够推断类型文字的精确类型并集'good' | 'bad'呢?

const alwaysSomething = () => 'something' // inferred returned type: string
const moreComplicated = (mark: number) => mark >= 10 ? 'good' : 'bad' // inferred returned type:  'good' | 'bad'
Run Code Online (Sandbox Code Playgroud)

在操场上。如果你悬停alwaysSomething,它显示其类型() => string,但如果你悬停moreComplicated,它显示其类型(mark: number) => "good" | "bad"

typescript

5
推荐指数
1
解决办法
66
查看次数

通过 Express 中间件从 google-cloud-storage 提供静态文件

我有一个在谷歌上托管的 Express 应用程序AppEngine,它使用 Express 静态中间件。我想将静态文件存储在 上google-cloud-storage,并且能够从常规文件系统切换到google-cloud-storage无需太多修改。

我正在考虑编写一个中间件:

有没有更简单/更干净的方法来做到这一点?

google-app-engine node.js express google-cloud-storage

4
推荐指数
1
解决办法
3621
查看次数