我的应用程序在启动时加载列表/连接,我正在使用 FB 登录。对于使用 Relay 的身份验证,我设置了一个 cookie,但如果应用程序从后台运行中删除,cookie 会被删除。为避免用户必须再次登录,我正在缓存(AsyncStorage)用户信息,如果用户存在于那里,我将自动登录服务器上的用户,以便我取回我的 Cookie。问题是我需要重置/重新加载连接,我尝试使用 Field_Change 返回父级的突变(它应该包括它的所有子级,但它不加载作为子级的子级的连接)。我还尝试重置/重新创建商店,但也没有成功。该列表已加载到我的起始页上,因此我不会更改页面。
我的连接确实有多个分页参数以及其他参数和一个@include。
我可以让它工作的唯一方法是在定义连接的组件中使用 forceUpdate ,有没有更好的方法?
更新:这是胖查询:
fragment on AuthorizationChangePayload @relay(pattern: true) {
viewer {
user
}
}
以及突变的配置:
return [{
type: 'FIELDS_CHANGE',
fieldIDs: {
viewer: this.props.viewer.id
}
}];
在用户中有没有更新的连接,我没有指定它,因为它有参数,我真的想更新整个用户和它的子对象。