在我的应用程序中更新一个变量时(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, error, 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
。