多个中继容器和变量通信

Multiple Relay Containers and Variables communication

我正在尝试从另一个中继容器更改一个中继容器的变量。 它们没有父子关系,并且都在两个单独的根容器中。

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

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

谢谢!

我会重新考虑您应用的设计。根容器的目的是位于顶部并将您的应用程序放在一起。

https://facebook.github.io/relay/docs/guides-root-container.html

拥有两个根容器后,您将构建两个应用程序。如果你的应用确实需要这样,你可能不会倒霉。多个应用程序通常通过 API 相互通信。使用 Relay,API 会说 graphql。通常你需要去服务器进行通信,但由于你的应用程序位于同一页面上,你可以使用本地 graphql api.

绕过服务器

https://github.com/relay-tools/relay-local-schema

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