Reactjs 阿波罗客户机';s useSubscription钩子仅在触发订阅的组件(及其父组件)中工作?

Reactjs 阿波罗客户机';s useSubscription钩子仅在触发订阅的组件(及其父组件)中工作?,reactjs,graphql,react-hooks,subscription,Reactjs,Graphql,React Hooks,Subscription,我正在我的应用程序中使用React和ApolloGraphQL 组件结构如下(缩进级别表示父/子组件): 当NewFood向服务器添加食物时(它成功地添加了食物),订阅在GraphQL平台中正常工作 但是当我尝试在ListFoodsContainer组件中使用useSubscription钩子时,钩子的代码不会触发 useSubscription(FOOD_ADDED, { onSubscriptionData: ({ subscriptionData }) => { cons

我正在我的应用程序中使用React和ApolloGraphQL

组件结构如下(缩进级别表示父/子组件):

当NewFood向服务器添加食物时(它成功地添加了食物),订阅在GraphQL平台中正常工作

但是当我尝试在ListFoodsContainer组件中使用useSubscription钩子时,钩子的代码不会触发

useSubscription(FOOD_ADDED, {
  onSubscriptionData: ({ subscriptionData }) => {
    console.log('Hello from ListFoodsContainer')
  }
})
(请注意,问题与导入无关:我们将发现,在其他组件中使用相同的导入和钩子代码)

然后,我在以下组件中使用完全相同的代码(不包括记录的消息)尝试相同的钩子:

-App
-Menu
-Description
-NewFood
控制台说

Hello from App
Hello from Menu
Hello from NewFood
因此,我由此得出结论,useSubscription钩子只在首先触发订阅的组件中起作用,并且它是父组件。这是非常令人困惑的,因为这不是文档所建议的


有人能证实我的结论还是否定它?

你找到解决办法了吗?我这里也有同样的问题。你找到解决办法了吗?我这里也有同样的问题。
Hello from App
Hello from Menu
Hello from NewFood