問題タブ [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.

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

reactjs - Relay - クエリの前に変数を設定

現在、特定のユーザーの特定の一連の「タスク」のステータスを表示するページに取り組んでいます。データを取得するために、次の Relay コンテナを使用しています。

データを取得するユーザーを定義するには、次を使用します。

ただし、ここでの問題は、クエリが最初に でnull定義されているように実行されることinitialVariablesです。私のバックエンド実装では、studentIdが NULL の場合、すべてのメンバーのデータを返すようになっています。

その結果、上記のクエリは 2 回実行されます。1 回目はすべてのメンバーで、2 回目は指定されmemberIdた .

これは、 my 内の他のものを台無しにしますcomponentWillUpdate。この変数を渡して、最初のクエリでそのメンバーのデータのみを取得できる方法はありますか?

ありがとう。

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

graphql - ミューテーションのエラー処理

突然変異として自転車を作成しようとしているとしましょう

光沢のある車輪を作るのに十分な鋼がなかったらどうなりますか? おそらく、クライアント側のエラーが必要になるでしょう。以下のミューテーションを使用して、graphQLサーバーからそれを取得するにはどうすればよいですか:

サーバー/私が定義したエラータイプを返すのと同じくらい簡単ですか?

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

relational-database - 関連オブジェクトを解決する慣用的でパフォーマンスの高い方法は何ですか?

リレーショナル データベースに対して適切に機能するクエリ リゾルバーを GraphQL でどのように記述しますか?

このチュートリアルのサンプル スキーマを使用して、と を含む単純なデータベースがあるusersとしstoriesます。ユーザーは複数のストーリーを作成できますが、ストーリーの作成者は 1 人だけです (簡単にするため)。

ユーザーを照会する場合、そのユーザーが作成したすべてのストーリーのリストも取得したい場合があります。それを処理するGraphQLクエリの可能な定義の1つ(上記のリンクされたチュートリアルから盗んだもの):

これは期待どおりに機能します。特定のユーザーにクエリを実行すると、必要に応じてそのユーザーのストーリーも取得できます。ただし、これは理想的なパフォーマンスではありません。を使用した単一のクエリでJOIN十分な場合、データベースへの 2 回のトリップが必要です。複数のユーザーにクエリを実行すると、問題が増幅されます。ユーザーが追加されるたびに、追加のデータベース クエリが発生します。この問題は、オブジェクトの関係を深く掘り下げるほど指数関数的に悪化します。

この問題は解決されましたか? 非効率的な SQL クエリが生成されないクエリ リゾルバーを作成する方法はありますか?

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

reactjs - RelayRouter を使用して Relay.js アプリをナビゲートすると、Invalid State Change エラーがスローされる

私は Relay.js アプリを作成しており、ルーティングにはreact-relay-routerを使用しています。ルーティングは機能しますが、異なるビュー間でクエリ フラグメントを整理する方法について、私の誤解が露呈していると思います。

app.jsで定義されたルート

DataModelList.jsのクエリ フラグメント宣言

OrgSetup.jsのクエリ フラグメント

DataModelListと の間を(いずれかの方向に)ナビゲートするとOrgSetup、コンソールに次のエラーが表示されます。

2 つのビューのクエリ フラグメントを同一にすることで、特にフラグメントを追加することで、このエラーの発生を防ぐことができますadapter

しかし、これは間違っているように感じます。それらは同一である必要はありません (実際、これは私にとって学習アプリであるため、現時点では意図的に肥大化しています)。もちろん、他のビューはこれらのデータのニーズを共有しません。

  1. クエリ宣言を簡潔に保つためのベスト プラクティスは何ですか? 理想的には、トップレベルのビューでトップレベルのデータ要件のみを宣言するようにします。具体的には、私の例のビュー ファイルでは、viewerとそののみを要求しdataModels、子コンポーネントがニーズを表現できるようにして、ネストされたデータを要求します (例: categoriestagsまたはadaptersとそれぞれのcategories)。
  2. invalid state changeエラーの本当の意味は何ですか? クエリが正確に一致することで満足していることはわかりますが、クエリ宣言を共有するために無関係なビューが必要になるとは思えません。これは、私がどこかで間違ったことをしたことの副産物だと思います。

ありがとう!

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

reactjs - react-starter-kit を使用した Flask のセットアップ

この質問はreact-starter-kitにかなり固有のものですが、他の誰かがインターネットでここで助けることができるかもしれません. 開発中のフラスコ アプリケーションで react-starter-kit を使用しようとしています。私が探しているものがたくさんあったので、この yeoman ジェネレーターを選びましたが、ノードサーバーで実行したくありません。反応フロントエンドに接続したいフラスコアプリがあります。ノードルートがどの.jsバンドルファイルを含めるかをどのように認識しているかがよくわかりません(ノードルートはとにかく私を少し混乱させます)。ここから始めるのに最適な場所はどこですか?

特定の質問から始めることができるとしたら、どの.jsファイルをindex.html指し示すことができますか? または、どうすればそれを見つけることができますか?

ここでこの質問をするのは暫定的ですが、適切な場所に誘導されることを願っています.

これが私のものindex.htmlです:

これが私のフラスコビューです:

こちらがbuild/assets.js

/main.js?{{string}}がアプリの同梱バージョンを指している場所。

ファイル ディレクトリのレイアウトは次のとおりです。

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

javascript - 別のアプリケーション/サーバー上の GraphQL と dataLoader

IIS 上の .NET に GraphQL API を実装し、Node.js アプリ サーバーとして dataLoader API を実装する予定です。GraphQL は、dataLoader から SQL Server へのインターフェイスとなります。
現在のところ、すべてのアプリケーションは単一の物理サーバー上にありますが、スケーラビリティが必要な場合は将来的に分離される可能性があります。

これの私の理由:

  • 既存のコードは IIS/COM/DCOM/ActiveX/.NET/ASP/ASPX に依存します
  • 実装と推論がより簡単
  • アクセス制御 (Web サーバーは dataLoader コードを参照する必要がなく、ACL を dataLoader に実装できます)
  • 別のデータベース (redis、mongodb など) とやり取りする機会があれば、より簡単になります。
  • コードの一部を徐々にスライスして移植し、コードの共有を容易にすることができます (別の Linux サーバーで)
  • (私は好きです) Node.js は探索可能ですが、まだオプトインできません

まず、これは理にかなっていますか、それとも私はトラブルを求めていますか?

GraphQL と dataLoader の間でバイナリ シリアル化形式を使用することは理にかなっていますか? それとも単純な Web サービスの方が単純でしょうか?
ラウンドトリップが増えると、パフォーマンスの問題が発生する危険がありますか? (質問があまりにもオープンエンドですか? 直観的には、最終的にはより適切に拡張できるように思えます)
GraphQL と dataLoader の間で明示的な認証が必要ですか? または、セッション データ (ユーザー名を含む) をそのまま送信し、dataLoader にコンテキストとして指定されたユーザー名を信頼させることはできますか? 多分トークンを渡しますか?ここで JWT トークンは役に立ちますか?

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

ruby-on-rails - Rails で GraphQL を使用する

誰かが GraphQL エンドポイントをセットアップしたとしましょう。React と Relay を使用するのではなく、Rails アプリケーション内から GraphQL クエリを送信して使用したいと考えています。

これの例、または既知の宝石やライブラリはありますか?

0 投票する
8 に答える
34789 参照

postgresql - GraphQL と PostgreSQL の接続方法

GraphQL にはミューテーションがあり、Postgres には INSERT があります。GraphQL にはクエリがあり、Postgres には SELECT があります。などなど。プロジェクトで両方を使用する方法を示す例は見つかりませんでした。たとえば、GraphQL のフロントエンド (React、Relay) からすべてのクエリを渡しますが、実際にはデータを Postgres に保存します。

Facebook が DB として使用しているものと、GraphQL との接続方法を知っている人はいますか?

GraphQLクエリを取得してSQLに変換するカスタム「アダプタ」を構築するために、現在Postgresにデータを保存する唯一のオプションはありますか?

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

javascript - Relay変数を列挙値として設定するには?

フラグメントの例:

引数は次のorderBy列挙値を受け入れます: firstNameASC/ firstNameDESC/ lastNameASC/ lastNameDESC.

実行this.setVariables({orderBy: 'firstName'})すると、orderBy変数は文字列として GraphQL サーバーに渡されます。

これらの変数を文字列として送信せずに Relay の setVariables に渡すにはどうすればよいですか?

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

graphql - The significance of the string immediately after query type (query / mutation) GraphQL

I was wondering what the significance of the string that follows the query type, in this case "ProvisionQueues", it seems removing this from the string doesn't affect anything - is it just for logging or something. meta data?