我正在编写一个Web应用程序,我需要查询Apollo的本地状态以及远程API。 Apollo .filter('[data-category="' + categoryName + '"]');
HOC不允许发送多个查询,但提供了一些graphql
功能。但是似乎compose
软件包没有它。不幸的是,将本地状态请求脚本化为远程请求无法正常工作(根据DevTools,请求已发送,但未提供数据)。 Redux的@apollo/react-hoc
仍然无济于事(嗯,很清楚为什么如此)。 没有 React钩子是解决此问题的最佳方法是什么?
答案 0 :(得分:1)
根据@ apollo / react-hoc docs,看来您可以通过将一个查询嵌套在另一个查询中来运行多个查询。
默认情况下,graphql
挂钩将数据作为data
道具插入,因此对于多个查询,如果没有其他配置,它将无法工作。 config.name
来了,所以您可以为注入的道具指定不同的名称,而不是data
。
export default(
graphql(
query1,
{name: "data1"}
)(
graphql(
query2,
{name: "data2"}
)(YourComponent)
)
)
看起来太冗长了。因此,recompose
(基本上是redux)compose
将为您提供帮助:
export default compose(
graphql(query1, {name: "data1"}),
graphql(query2, {name: "data2"})
)(YourComponent);
说实话,这种方法(使用compose
)已在他们的文档中进行了描述,但由于它位于描述config
的中间位置,因此我认为最好将示例放在这里给任何人在搜索主题时找到。