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

relayjs - 取得したデータに基づいてフラグメントを定義する

コンポーネントで現在フェッチされているデータに基づいて、リレーコンテナでフラグメントを定義する方法を誰かが説明できますか? 次の例を検討してください。

TreeNode コンポーネントは非常に単純です。サーバーの「拡張」フィールドを変更する突然変異があります。

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

reactjs - React Relay フェッチ リスト

スキーマを持っているリストを取得する必要があります

curlを使用してgraphqlリクエストを実行して送信すると

それは私に与えます

誰かがリレーを使用してそれをフェッチする方法を教えてもらえますか? すべての例がオブジェクトを与えてから Store: { teas: [...

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

relayjs - 追跡クエリについて

追跡クエリの 仕組みがわかりません。

ここに私のアプリケーションの一部があります:

グラフィック

サーバー側の変異

クライアント側の突然変異

今、私は次のようなContainer呼び出しProgramCardを持っていfragmentます:

Mutationによって呼び出され、このフィールドProgramAutoInviteToggleの値を切り替える必要があります。Program subjectSubscriptionrender メソッドでは、値に応じてProgramCard表示するかどうかを指定します。ProgramSubjectRegistrationLinksubjectSubscription

問題は、クライアントによって行われる実際の変更が次のようになることです。

subjectSubscription畑の跡はありません。どうして??

これを手伝ってくれてありがとう。私は本当にそれを理解することはできません!

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

reactjs - リストによる React Relay 操作

構造は

props.activities をリストとして取得していて、このリストを操作したい (たとえば、並べ替えや不要な削除など)。しかし、そこにリレー オブジェクトが表示され、コンポーネントに設定する前にデータを取得して変更する方法がわかりません。

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

immutable.js - Relay-GraphQL ミューテーションを使用した状態トラバーサルの取り消しとやり直しのパターン

Immutable と Flux の実装を使用して元に戻す/やり直し機能を実現することは、基本的に簡単です。これは、一部は Immutable によって可能になった値の受け渡しによるものであり、一部は Flux を使用することのブラウザー内/メモリ内の性質によるものです。

ただし、Relay-GraphQL ミューテーションの観点からこれを概念化することは明らかではありません。これを単純化する既知のパターンはありますか?

0 投票する
3 に答える
2729 参照

javascript - Relayによる認証とアクセス制御

Facebook の公式見解は、Relay は「意図的に認証メカニズムにとらわれない」というものです。Relay リポジトリのすべての例では、認証とアクセス制御は別の問題です。実際には、この分離を実装する簡単な方法は見つかりませんでした。

viewerRelay リポジトリで提供されている例にはすべて、ユーザーが 1 人であることを前提としたフィールドを持つルート スキーマがあります。そして、そのユーザーはすべてにアクセスできます。

ただし、実際には、アプリケーションには多くのユーザーがいて、各ユーザーは各ノードへのアクセス レベルが異なります。

JavaScript に次のスキーマがあるとします。

一部のユーザーは、クエリを実行するユーザーの観点から完全に非公開です。他のユーザーは、特定のフィールドのみを照会ユーザーに公開する場合があります。そのため、ユーザーを取得するには、クライアントはクエリ対象のユーザー ID を提供するだけでなく、アクセス制御が行われるように自分自身を識別する必要もあります。

これは、アクセスを制御する必要性がグラフを少しずつ下るにつれて、すぐに複雑になるようです。

さらに、ルート クエリごとにアクセスを制御する必要がありますnodeField。すべてのノードが を実装していることを確認する必要がありますnodeInterface

これらはすべて、多くの反復作業のように思えます。これを単純化するための既知のパターンはありますか? 私はこれについて間違って考えていますか?

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

graphql - Relayによるユーザー入力の検証

一見すると、Relay で検証を行う最善の方法は、スキーマでカスタム GraphQL スカラー型を使用することです。そうですか?

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

reactjs - RelayMutations の Flux アクションを起動する方法

つまり、ローカル状態 (ModalStore、HistoryStore などのフラックス ストア) をリレー ミューテーションで更新する方法を教えてください。私が見つけた唯一の解決策は、コールバックを使用してフラックス アクションを起動することです。ただし、ミューテーションが使用されるたびにアクションを起動する必要があり、そのコードはミューテーション ペイロードの形状に依存するため、これは非常に冗長で危険になります。私が気付いていないより良い解決策があると感じています。

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

graphql - Graphql + リレー graphql-relay-js の依存関係

すべての例で、サーバー上
で graphql-relay-js を使用しています
あるクライアントがgraphql apiのみを使用し、別のクライアントがリレーを使用してデータを取得する場合の状況それを処理する方法は?

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

graphql - `RANGE_ADD`ミューテータ設定の`rangeBehaviors`属性の「GraphQL呼び出し」とは何ですか?

ドキュメント では次のように説明さrangeBehaviorsれています。

GraphQL 呼び出しのマップは、これらの呼び出しの影響下で接続に新しいエッジを追加するときに Relay に表示させたい動作です。動作は、「追加」、「追加」、または「削除」のいずれかです。

ドキュメントの例は次のとおりです。

todos サンプル リポジトリの別の例では、次のようなものがあります。

この場合の「GraphQL 呼び出し」とは何ですか? そのような呼びかけの「影響下にある」とはどういう意味ですか?