Reactjs 单击按钮后或变量更新后调用useSubscription

Reactjs 单击按钮后或变量更新后调用useSubscription,reactjs,react-hooks,apollo,apollo-client,react-apollo,Reactjs,React Hooks,Apollo,Apollo Client,React Apollo,我需要在从API获取值后调用useSubscription,有没有办法调用useSubscription,比如useLazyQuery 到目前为止,我尝试了几种方法将useSubscription包装到另一个函数中,并在获得数据后调用它,但react会抛出一个错误。下面是我的代码,错误如下 export default function App() { function InitializeSubscription() { const { loading, error

我需要在从API获取值后调用useSubscription,有没有办法调用useSubscription,比如useLazyQuery

到目前为止,我尝试了几种方法将useSubscription包装到另一个函数中,并在获得数据后调用它,但react会抛出一个错误。下面是我的代码,错误如下

export default function App() {
      function InitializeSubscription() {
        const { loading, error, data } = useSubscription(S_CHEF_ORDER_PUSH, {
          variables: {
            input: {
              storeId: '5fe31e111336b92cedc3aeaa',
              rank: 'REGULAR',
              type: 'SINGLE',
            },
          },
        });

        if (data) {
          const { message, payload, title } = data.chefOrderSubscribe;
          console.log(payload.eventType, title.en, message.en);
        }

        console.log('New subs', data, { error }, { loading });
      }

      const {
        data: { isLoggedIn = false },
      } = useQuery(Q_IS_LOGGED_IN);

      if (isLoggedIn) {
        InitializeSubscription();
      }
    }
react\u devtools\u backend.js:2560警告:react检测到应用程序调用的挂钩顺序发生了变化。这将导致错误和错误,如果不修复。有关更多信息,请阅读挂钩规则


尝试调用内部useHooks以及useSubscription本身作为另一个钩子如果不起作用,请使用布尔值(
true
作为默认值)加上
skip
选项-更改
skip
“激发”订阅,阅读文档