我们正在将一些呼叫从一台服务器迁移到另一台服务器。我目前有一个可与
refetchQueries
配合使用的现有通话
const refetchQueries = ['MyComponent', { query: MY_QUERY, variables }];
const [myMutation] = useMutation(MY_MUTATION, {
refetchQueries
});
我们正在介绍一个新客户,我像这样传递给
useMutation
const [myMutation] = useMutation(MY_MUTATION, {
client: newClient,
refetchQueries
});
但是
refetchQueries
也发生在新客户端上,而我们还没有迁移MY_QUERY
,所以我仍然希望它发生在旧客户端上?这可能吗?
不,这是不可能的 - Apollo Client 没有多个并行客户端的概念。
您可以尝试的是保留一个客户端,但有一个拆分链接,该链接指向针对旧服务器的一些查询和突变,以及针对新服务器的一些查询和突变。
请记住,在这种情况下,来自两台服务器的查询结果将被合并到一个共享规范化缓存中 - 如果两台服务器具有不同步的重叠数据,这可能会导致问题。