問題タブ [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 に答える
6755 参照

javascript - GraphQL/Relay スキーマ「フィールドを照会できません...」

graphql/relay のいくつかのフィールドのクエリで問題が発生しています。以下のスキーマでコースの「courseName」フィールドを照会しようとしています。

たとえば、ユーザーにクエリを実行すると、次のようになります。

{ ユーザー(id:1){ファーストネーム,ラストネーム}}

それは機能し、正しい応答を返します。

ここに私のスキーマがあります:

ここに私のdatabase.jsがあります:

クエリを実行しようとすると:

{ ユーザー (id:1){コース{コース名}} }

エラーが表示されます:

「'CourseConnection' のフィールド 'courseName' をクエリできません」

接続に問題があるようです。また、このクエリを cURL でテストしています。反応/リレーに移行する前にスキーマをテストしたいので。

私は何が欠けていますか?ありがとうございました。

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

relayjs - Relayでアドホッククエリをディスパッチする方法は?

私はRelayを初めて使用しますが、まだ頭を抱えようとしています。私の理解では、Relay はクエリをコンポーネントに結び付けます。このように、GraphQL サーバーから x、y、z をコンポーネントに提供する必要があると言えます。私の理解に基づいて、公式react-relayライブラリは、コンポーネントがレンダリングされようとしているときなど、適切なタイミングでこれらのクエリをディスパッチします。

これは、単純にデータのリストを表示するなど、単純なユース ケースでは理にかなっています。

しかし、私がどうしたらよいか混乱しているのは、コンポーネントに結び付けられる何かのカテゴリーに完全に分類されない可能性のあるクエリをディスパッチする方法です。ユーザー認証セッション トークンなどを取得しようとするクエリなど。これが私の現在の状況です。GraphQL からセッション トークンを取得するユーザー サインイン フォームを作成しようとしています。ユーザー名とパスワードの引数を必要とするパラメーター化された GraphQL フィールドがあり、それらが有効な場合はセッション トークンを返します。Relayを使用してそのセッショントークンを照会する方法がわかりません。

基本的には、クエリをディスパッチして応答を処理するだけで済みます (そのセッション トークンを React アプリケーションの状態に配置します)。

何か案は?

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

relayjs - @relay(pattern:true) の目的

の変更ログに新しい表現@relay(pattern: true)が導入されました。relay.js 0.5

しかし、説明やテストからは、それが正確に何をするのか、いつ書くべきなのかを理解することはできませんfatQueries

いくつかの例は非常に役立ちます。

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

reactjs - TypeScript (TSX) で書かれた React アプリで Facebook Relay を使用するには?

Relayを使用してGraphQLサーバーと通信する新しいWebアプリケーションをReactで作成したいと考えています。最近、 TypeScriptのJSX サポートが導入されました。しかし、Relay のタイピング宣言ファイル (.d.ts) はものがありませ。最初にリレー用のタイピング ファイルを作成せずに、TypeScript でアプリケーションを作成するにはどうすればよいですか?

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

reactjs - 単一のリクエストの解決呼び出しを蓄積する方法は?

サーバーにgraphql requestヒットresolve functionsすると、クエリに応じていくつかの異なるサーバーにジャンプします。selectしかし、時には何十もの小さなリクエスト (基本的には各resolve関数の a)でデータベースをヒットしたくありません。それは実際にはあまりうまくスケーリングしません。

単一のgraphqlリクエストに対してこれらすべての解決呼び出しを蓄積する方法はありますか?最後に魔法をselectかけてデータベースに1つだけを構築し、すべての約束を解決できますか?

解決関数で返すすべての約束を蓄積することで、自分で何かを構築するいくつかの方法を見ることができますが、単一の要求に対するすべての解決関数がいつ呼び出されたかはわかりません。

この問題の解決策はありますか? Facebook はそのシナリオにどのように対処しますか?

ありがとうございました

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

reactjs - 接続でカーソルなしでナビゲートする方法

10000 個のアイテムを含む配列/テーブルがあります。

ここで、反応リレー クライアントでインデックス 4000 から 4010 までの項目を表示しようとしています。

しかし、現時点では でのconnectionArgsナビゲーションのみが許可cursorsされていますが、アイテム 4000 に到達するまではページングしたくありません。

GraphQL クエリを使用して特定のオフセットに移動するにはどうすればよいですか?

ありがとうございました