我们目前正在探索 Relay Modern 中的一些未记录的 api,到目前为止,我们发现从 Relay Store 中获取数据以供应用程序使用的最佳方法是使用从 graphql 查询派生的选择器调用 environment.lookup。
发生这种情况是因为 RecordSource.get 方法似乎从存储中返回了对象,但没有为嵌套在它下面的节点获取任何数据。有没有更好的方法来获取对象和所有连接的节点?
我们的用例是我们正在使用 applyOptimisticUpdate 来更新 Relay 的存储,以便在保存到我们的管理应用程序之前所做的更改对所有请求该数据的组件都是可见的。因此,一旦我们完成了这些更改,我们希望重新查询中继存储以获取记录的当前状态,清理它以实现真正的突变,并将更新的有效负载发送到服务器。
任何见解都将不胜感激,我将向 Relay 添加文档以及调查结果(如果需要)。