0

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

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

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

谢谢!

4

1 回答 1

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

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

于 2015-12-18T06:45:08.793 回答