react-apollo - 为什么当组件查询更新时父查询不更新?
问题描述
在我的应用程序(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
。
解决方案
推荐阅读
- c++ - arma::SpMat
在 RcppArmadillo 函数中输入 - go - 在 kubernetes 集群中获取 Pod 和 Node 的事件毫秒级精度
- android - android 11 kotlin 中的包可见性
- css - 加载后将 div 保留在视口中
- python - 与 ROS 点云的距离太慢,如何优化?
- c++ - 在其他几个 cpp 文件中实例化一个类并使用它的方法
- reactjs - 为什么运行构建后反应路由器不起作用?
- angular - 过滤器包含在 on() ngrx reducer 中
- powerbi - Excel Sum If 数组在 Power BI 中
- vue.js - Vetur 错误,vetur 找不到任何元素,例如模板、div 以及更多错误