だから、最初に少しの背景。 私は最初のReact Nativeプロジェクトを開始しているネイティブiOS/Android開発者です。それはJavascriptのすべての利点と痛みを伴いますが、私はこれまでに多くのことが好きです:-)私はGraphQLで初めて自分の手を試してみることにしました。Relay ModernでのQueryRendererの役割?
一般的にリアクション環境の新機能であるため、私はRelayについての事前知識はありませんが、私のスタートアップコミュニティとweb-devの同僚の友人からの推薦で選択しました。私はやや急な学習曲線についても警告を受けましたが、とにかく前進することを決めました。私はすでにJSと新しいモバイルプラットフォームの0.xxバージョンとのうまくいった戦いと戦っています。 :-)私は「質問
の上、正しく私のプロジェクトを設定し、そう
:-)大きな安堵だったQueryRenderer
、と私のGQLサーバに至るまで全体をパンチするために管理容器/成分の関係を把握するのに苦労するm、一般的には容器の組成である。 the docs on compositionを読むこと助けたが、私はすべてのリレーツリーのルートコンテナであることをドキュメントで言われてQueryRenderer
QueryRenderer
の役割の上にまだ疑問がね。それは私たちのアプリのルートのQueryRenderer
を持っている必要がありますか?または各ナビゲーションパスのルート(アプリ内のタブなど)に表示されますか?あるいは、各コンテナコンポーネント(プレゼンテーション/ダム/純粋なコンポーネントとは対照的に、React Wise)に対してのみですか?- 「親」コンポーネントに
QueryRenderer
を付けずにFragmentContainer
(またはその他のコンテナ)を使用することはできますか?いいえ、私の意見は参考になりません。 QueryRenderer
はどのように子コンテナにリンクされていますか?子コンテナが必要とするすべてのデータの合計を取り出し、子コンテナをキャッシュから読み取ったか、それとも?そうであれば、私はRelayの賛否を誤解しています。各コンポーネントが他のすべてのコンポーネントから独立してデータを取得できるという印象を受けており、各コンポーネントは他のコンポーネントのデータ要件(親/子コンポーネント)。私はこの仮定がまたQueryRenderer
について私を混乱させていると思うし、 "ルート"コンテナの必要性もあると思う。QueryRenderer
がリレーツリーの「親」/「ルート」リレーコンテナである場合、その要求に基づいてどのようにビューコンポーネントをレンダリングする必要がありますか?そしてなぜそれが要求を持っていなければならないのですか?いつ、何を使用する必要がありますQueryRenderer
?
すべてのヘルプは非常にこの話題を持ち出すため
十分な人が回答をアップヴォートすると、私は最終的に、この投稿に将来誰かがアクセスすると「受け入れられる」とマークします。しかし、他の人が私たちの戦略に最初に同意するかどうかを待っています:-) – jhm
コンポーネントがレンダリングされたときにだけ、フラグメントのデータをフェッチするのにリレーがスマートではありませんか?たとえば、フラグメントを持つルートクエリがあるかもしれません... User_friends; Relayは、それを使用するコンポーネントがレンダリングするときにのみ、そのようなフラグメントのデータをフェッチすると信じています。私が間違っていると私を修正してください。 –
自分自身に返信しましたが、親QueryRenderer内に子fragmentContainerを試しましたが、子がまだレンダリングされていなくても、QueryRendererは子fragmentContainerのデータをフェッチします。とにかく、私は両方の答えをupvoteする必要がありますが、実際には特定の状況に依存しているためです=) –