Reactjs 单击按钮后或变量更新后调用useSubscription
我需要在从API获取值后调用useSubscription,有没有办法调用useSubscription,比如useLazyQuery 到目前为止,我尝试了几种方法将useSubscription包装到另一个函数中,并在获得数据后调用它,但react会抛出一个错误。下面是我的代码,错误如下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
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
“激发”订阅,阅读文档