更新未使用的数据时,阿波罗本地状态是不是更新订阅者

Posted

技术标签:

【中文标题】更新未使用的数据时,阿波罗本地状态是不是更新订阅者【英文标题】:Does apollo local state update subscriber when data that is not being used is updated更新未使用的数据时,阿波罗本地状态是否更新订阅者 【发布时间】:2019-06-04 12:07:26 【问题描述】:

根据the doc of apollo-link-state 中的示例,它指出

一旦调用client.writeData,render prop函数上的查询结果会自动更新

假设我们在 apollo 本地缓存中保留了两个变量 foobarComponentFoo 被 Apollo Query 包裹,查询 foo @client

那么在应用调用client.writeData( data: bar: 'something' ) 的某个地方,ComponentFoo 渲染是否会被触发(通过 props 更改)?

还是只有在有人调用client.writeData( data: foo: 'something' ) 更新 foo 时才会触发?

【问题讨论】:

【参考方案1】:

ComponentFoo 将仅在 foo 更新时更新,因为在 Query 中仅定义了 foo

【讨论】:

以上是关于更新未使用的数据时,阿波罗本地状态是不是更新订阅者的主要内容,如果未能解决你的问题,请参考以下文章

setState() 是不是可用于更新 Alt.js 商店中的状态?

反应钩子。无法对未安装的组件执行 React 状态更新

无法使用 fetch POST 方法对未安装的组件执行 React 状态更新

角度内插值未在订阅时更新

使用 websocket 反应通量更新循环

表单输入的值在 React 中提交时未更新