在我的应用程序中更新一个变量时(session.isLoading),useQuery
的一个实例将更新,而在父级中找到的一个实例不会更新。
// NOTHING UPDATES on session.isLoading update
function App({ apolloClient,resetStoreToDefault }) {
const { loading,error,data } = useQuery(GET_CURRENT_SESSION);
// Handle Query Return
if (loading) return null;
if (error) console.log('error',error);
const { session } = data;
console.log('app session',session);
return (
<Router history={history}>
...
<Authentication/>
...
</Router>
);
}
// UPDATES on session.isLoading update
function Authentication(props) {
const { loading,data } = useQuery(INITIALIZE_AUTHENTICATION_PAGE);
// Handle Query Return
if (loading) return <p>Loading ...</p>;
if (error) console.log('error',error);
const { authenticationFields,session } = data;
console.log('auth session',session);
updateSessionLoading({ variables: { loading: true } });
return (
...
);
}
预期:useQuery
更新时,所有data
实例将更新cache.session
。