多个中继容器和变量通信

时间:2015-12-16 20:10:40

标签: reactjs relayjs

我试图从另一个中继容器更改中继容器的变量。 他们没有亲子关系,两者都在两个独立的根容器中。

Container = Relay.createContainer(Component, {
  initialVariables: {
    value: 10
  },
  fragments: {
    fragmentOne: () => Relay.QL`
    fragment on Score {
      score(value: $value) 
    }`  
  }
});

假设我描述的场景:哪个是从上面的Container更改$ value变量的最佳方法,从另一个Container?有一种方法只能使用Relay或者我需要Redux(或Reflux)来完成这项工作吗?

谢谢!

1 个答案:

答案 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

尽管如此,请谨慎使用此解决方案。正如自述文件中所述。