Sia*_*agh 7 react-apollo apollo-client apollo-link
我想实现一种根据 graphql 查询中设置的上下文切换不同链接的方法。到目前为止我所做的就是这样的事情,它运行良好,但随着时间的推移似乎并不是一个很好的解决方案。
const link = ApolloLink.from([
HandlerLink1,
HandlerLink2,
ApolloLink.split(
operation => operation.getContext().service === "x",
LinkX,
ApolloLink.split(
operation => operation.getContext().service === "y",
LinkY,
ApolloLink.split(
operation => operation.getContext().service === "z",
LinkZ,
LinkN
)
)
)
]);
Run Code Online (Sandbox Code Playgroud)
除了嵌套之外,还有其他更好的方法吗?
小智 -1
我也遇到了同样的问题。下面的代码对我来说效果很好
const client = new ApolloClient({
cache,
link: ApolloLink.split(
(operation) => operation.getContext().clientName === 'link1',
Link1, // <= apollo will send to this if clientName is "link1"
ApolloLink.split(
(operation) => operation.getContext().clientName === 'link2',
Link2,// <= apollo will send to this if clientName is "link2"
Link3,// <= else Link3 will run
),
)
resolvers: {},
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4188 次 |
| 最近记录: |