問題タブ [relayjs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2188 参照

graphql - Relayjs Graphql ユーザー認証

リレーと反応と組み合わせてgraphqlサーバーのみを介して、異なる役割を持つユーザーを認証することは可能ですか?

私は周りを見回しましたが、このトピックに関する多くの情報を見つけることができませんでした.

私の現在の設定では、さまざまな役割を持つログイン機能は、依然として従来の REST API を使用しています... (json Web トークンで「保護」されています)。

0 投票する
5 に答える
8824 参照

javascript - React-Relay アプリでファイルのアップロードをどのように行いますか?

ファイルのアップロードは突然変異のようです。多くの場合、他のデータが付随しています。しかし、これは大きなバイナリ BLOB であるため、GraphQL がどのように処理できるかはわかりません。ファイルのアップロードを Relay で構築されたアプリにどのように統合しますか?

0 投票する
2 に答える
2120 参照

javascript - 異なるフラグメント フィールドを持つ同じ Relay ルート クエリを使用する複数の react-router-relay ルート

同じルート クエリを使用して 2 つの隣接する react-router-relay ルート コンポーネント内でデータを要求すると、2 番目のルート コンポーネントの graphql サーバー クエリが最初のルート コンポーネントから以前に取得したデータを無効にするという問題が発生しています。

例として:

ルート フィールドからデータの配列をクエリするために、フィールドを「ビューア」ルート ノードにアタッチする回避策を使用しています。

私の schema.js には、ビューアー (ユーザー) タイプとルートの次の定義が含まれています。

そしてルート:

ここで、main.jsx アプリケーション エントリ ポイントで、次のルートを定義しています。

以下を含む ViewerQueries.js を使用します。

ここで、Appコンポーネントに次のgraphqlフラグメントが含まれている場合:

また、AllCarsコンポーネントには次のものが含まれます。

何が起こるかというと、パス '/' で App コンポーネントをレンダリングすると、車の配列が問題なく返されます。ただし、「/cars」パスがレンダリングされると、「this.props.viewer.cars」の結果の配列は空になります。さらに、パス '/' に戻って App コンポーネントの再レンダリングを行うと、空の配列も返されるようになりました。

バックエンドでは、AllCars コンポーネントがPOST /graphql 200 277.369 ms - 94サーバーへの追加トリップを引き起こしtype、フラグメントで指定された新しいものを取得しているようです。AllCars コンポーネントに「name」フィールドのみが含まれている場合、Relay は正しく別のサーバー リクエストを作成しませんが、代わりに配列にデータを入力します (最初の App コンポーネント サーバー リクエストからキャッシュされたと思われます)。

いずれかのコンポーネントから車の配列を取得することは可能ではないでしょうか? Relay は、ルートに表示される順序に関係なく、フラグメントで指定された追加のデータ フィールドを取得できますか?

どんな助けでも大歓迎です!

0 投票する
1 に答える
4722 参照

graphql - Relay GraphQL 接続を使用する必要があるのはいつですか? また、プレーンなリストを使用する必要があるのはいつですか?

Relay GraphQL では、接続とリストはどちらも配列に似ていますが、機能が異なります。それぞれをいつ使用する必要がありますか?

0 投票する
1 に答える
816 参照

graphql - GraphQL クエリ/ミューテーションのレスポンス

次の各ケースで、GraphQL クエリ/ミューテーションの応答がどのように見えるかについて質問があります。

  1. 結果があり、エラーはありません
  2. エラーが発生しました。1 つ以上のエラーが発生しました
  3. 結果といくつかのエラーの両方があります

後者が可能かどうかはわかりませんが、それが起こる可能性があることをどこかで読んだことを覚えているようです。たとえば、複数のミューテーションの場合、たとえば 2 つとしましょう。各ミューテーションは順番に処理されます。上記のケース #3 は、最初のミューテーションが問題なく、2 番目のミューテーションの実行中にエラーが発生した場合に発生する可能性があると思いますが、よくわかりません。

とにかく、応答はどのように見えるべきですか?以下のような?(それぞれが以前のケースに対応する JSON の例。) または、より慣用的な他の方法はありますか? おそらくリレーは、どのように見えるべきかについてのガイドラインを提供しますか? これに適したリソースが見つかりませんでした。

1:

2:

3:

ありがとう。

0 投票する
2 に答える
658 参照

javascript - Relay.js ストアから React コンポーネントの外部でもデータを取得する

反応コンポーネントの外部にある Relay ストアのデータを使用したい場合があります。それで、あるストアにデータを取得する方法を考えています。

1 つのオプションは、コンポーネントがデータを取得したら、これらのデータをコンポーネントの「ストア」に配置することです。

しかし、要件を定義するreactコンポーネントに似たストアを作成できるようにしたいと思いますが、レンダリングせず、他のファイルから必要になる可能性があります。

反応コンポーネントを使用できると思っていましたが、コンポーネントをインスタンス化するには、それを dom にレンダリングする必要があり、この状況では意味がありません。

それをうまく達成する方法はありますか?

0 投票する
2 に答える
50 参照

relayjs - ナビゲーションにつながるRelayJSの楽観的な更新

「ものを作成する」ボタンがある単純なアプリがあり、それをクリックすると、新しい URL に移動してそのものを編集するとします。ここで、編集インターフェイスを表示する前に、サーバーが ID を割り当てるのを待つ必要がないとしましょう。

あなたならどうしますか?ID が使用可能になるまで一時的に URL に「new」と書き込んでから、それを交換しますか? クライアント側で ID を割り当て、既存の ID と衝突しないことを望みますか? いずれにせよ、Relay が実際にはまだ存在しない情報を取得するのを停止する必要があります。どうやってそれをしますか?

0 投票する
1 に答える
1708 参照

reactjs - GraphQLなしでリレーを使用する方法はありますか?

React アプリケーションで Relay を試していますが、デフォルトで GraphQL を使用しています。次のようになります ( ScoreReact.js コンポーネントの一部です)。

問題は、カスタム API 関数を使用してデータをフラグメントに返すことができるかどうかです。このような: