問題タブ [graphql]
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.
node.js - GraphQL を使用してデータベースから限定レコード (ページネーション) を取得する方法
最近、GraphQL を使い始めました。データベースからすべてのレコードを取得できますが、取得できるレコードは限られています (一度に 10 件など)。これを達成するために私を導いてください。ありがとう
reactjs - GraphQL での双方向フェッチ
次の GraphQL スキーマがあります。
基本的に、すべてのユーザーはタスクのリストを持つことができます。この問題は、次のような応答を得るためにすべてのタスクのリストをフェッチする必要があるときに発生します。
そのようなフェッチを許可するには、スキーマをどのように編集すればよいですか?
mongodb - GraphQL でカスタム メッセージを出力する方法
こんにちは、es6 の組み合わせで GraphQl を使用しています。Graphql から特定のレコードを削除しているときに、削除されたレコードの詳細 (値) を取得しています。「レコードが削除されました」などのカスタム メッセージを出力したいと考えています。それに応じて私を助けてください。
ここに私のgraphQLコードがあります:
reactjs - ファット クエリとツリー構造について
Relay のファット クエリの概念を理解するのにまだ苦労しています。特に、どのデータを再フェッチするかを決定する交差ロジックの部分についてです。
これまで、UserType
ルート クエリ ( という名前)viewer
を使用して単純な階層データ構造を構築してきました。この各プロジェクトには、任意にネストされたサブプロジェクト階層をモデル化する別のフィールド (タイプも) があります。projects
ProjectConnectionType
projects
ProjectConnectionType
また、2 つの高次の React コンポーネントがProjectList
あり、条件付きでフラグメントを展開することによって (リスト アイテム コンポーネント内でProjectListItem
Relay 変数を使用することによって)、この構造をレンダリングします。expanded
これまでのところ、これはうまく機能しており、非常に満足しています。トリッキーな部分は、AddProject
突然変異です。名前とparentProjectId
入力として (ルート プロジェクトの場合は null の可能性があります) を受け取り、サーバー側の適切な場所に新しいノードを作成するミューテーションを作成しました。その後、新しいもの (後でprojectEdges
使用して追加されます) とorを返す必要があるため、そこでも更新できます。RANGE_ADD
parentProject
viewer
subprojectCount
ビューア (一意のグローバル ルート クエリ ポイント) の場合、すべて正常に動作します。Relayは交差点を正しく計算し、サーバーから新しいデータを要求します。しかし、サブプロジェクトを追加しようとすると、(ミューテーション ID 以外に) 出力フィールドのない完全に空の応答が返されます。私の推測では、Relay はparentProject
フィールドを適切にマッピングする方法を知らないために交差点を間違えているようです。私はすでにそのための構成を追加しようとしましたが、ファットFIELDS_CHANGE
クエリparentProject: node(id: "$parentProjectId")
内でクエリを実行しようとしました(どちらも機能していませんでした)。
私は何が欠けていますか?ドキュメントを数回読んだことがありますが、まだミューテーションの概念を理解しておらず、すでにかなりばかげていると感じています。
reactjs - Relay + React のテスト戦略
最近、React + Relay + Graphql を試しています。残念ながら、リレー コンテナーでラップされた React コンポーネントをテストする簡単で便利な方法が見つかりません。
基本的には、TDDに沿ってこれらの目標を達成したいと考えています。
- コンテナをレンダリングしてその内容をテストします。
- 変数を変更し、コンテンツでその変更をテストします。
React + Flux と比較すると、React + Relay はブラック ボックス、つまり宣言型に似ています。
Relay.createContainer をモックして Relay をバイパスし、単に React コンポーネントをテストするだけの人がいます。リレー部分が覆われておらず、テストによってこの部分 を駆動する方法はありません。https://github.com/facebook/relay/issues/161
また、Relay のテスト ケースを読み、モック コンテナーをレンダリングするのは非常に面倒です。 https://github.com/facebook/relay/blob/master/src/tools/mocks/RelayTestUtils.js _ _
解決策を共有できれば、本当に感謝しています。
ありがとう!
reactjs - クライアント側でのみ JS を中継する
laravelを使用してgraphqlサーバーを開発しました(https://github.com/Folkloreatelier/laravel-graphql)。Relayを使用してReactアプリケーションを作成したいと思います。最初のコンポーネントを作成すると、「Uncaught Error: Invariant Violation: RelayQL: Unexpected invocation at runtime.」というエラーが表示されます。Babel 変換が設定されていないか、この呼び出しサイトを識別できませんでした。として逐語的に使用されていることを確認してくださいRelay.QL
。
私はまだエラーをグーグルで検索し、Babel Relay Plugin をインストールする必要があることを認識しました。しかし、このプラグインを含めるには、スキーマを指定する必要があります。しかし、私はまだサーバー側でこのスキーマを指定しています。なぜクライアント側でもこれが必要なのですか? サーバーがまだ実装されている場合にこれを実装する方法の例はありますか (外部サーバー、NodeJS サーバーなど)。
アドバイスありがとうございます。