0

Relay Container の変数を別の Relay Container から変更しようとしています。親子関係はなく、両方とも 2 つの別個のルート コンテナにあります。

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

私が説明したシナリオを仮定すると、上記のコンテナから $value 変数を別のコンテナから変更する最良の方法はどれですか? Relayでのみ行う方法はありますか、またはこれを機能させるにはRedux(またはReflux)が必要ですか?

ありがとう!

4

1 に答える 1

2

アプリのデザインを再考します。ルート コンテナーの目的は、最上位に位置し、アプリをまとめることです。

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

ルート コンテナーが 2 つあれば、2 つのアプリをビルドすることになります。アプリが本当にこのようにする必要がある場合は、運が悪いとは限りません。通常、複数のアプリは API を介して相互に通信します。Relayを使用すると、そのAPIはgraphqlを話します。通常、通信するにはサーバーにアクセスする必要がありますが、アプリは同じページ上に存在するため、ローカルの GraphQL API を使用してサーバーを回避できます。

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

ただし、readme に記載されているように、このソリューションは注意して使用してください。

于 2015-12-18T06:45:08.793 に答える