我试图从另一个中继容器更改中继容器的变量。 他们没有亲子关系,两者都在两个独立的根容器中。
Container = Relay.createContainer(Component, {
initialVariables: {
value: 10
},
fragments: {
fragmentOne: () => Relay.QL`
fragment on Score {
score(value: $value)
}`
}
});
假设我描述的场景:哪个是从上面的Container更改$ value变量的最佳方法,从另一个Container?有一种方法只能使用Relay或者我需要Redux(或Reflux)来完成这项工作吗?
谢谢!
答案 0 :(得分:2)
我会重新考虑你的应用程序的设计。根容器的目的是坐在顶部并将您的应用程序放在一起。
https://facebook.github.io/relay/docs/guides-root-container.html
一旦有两个根容器,就构建了两个应用程序。如果你的应用真的需要这样,你可能不会运气不好。多个应用程序通常通过API相互通信。使用Relay,该API可以说是graphql。通常您需要去服务器进行通信,但由于您的应用程序位于同一页面上,因此您可以使用本地graphql API绕过服务器。
https://github.com/relay-tools/relay-local-schema
尽管如此,请谨慎使用此解决方案。正如自述文件中所述。