問題タブ [apollostack]
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.
reactjs - react-apollo graphql でミューテーションの読み込み状態を判断する方法
2018 更新: Apollo Client 2.1 は、loading プロパティを元に戻す新しい Mutation コンポーネントを追加しました。以下の @robin-wieruch の回答とこちらの発表を参照してください https://dev-blog.apollodata.com/introducing-react-apollo-2-1-c837cc23d926 Apollo の以前のバージョンにのみ適用される元の質問を読み進めてください。
(v0.5.2)の現在のバージョンのhigh graphql
-order-component を使用するとreact-apollo
、ミューテーションがサーバーの応答を待っていることを UI に通知する方法が文書化されていません。以前のバージョンのパッケージでは、読み込みを示すプロパティが送信されていたことがわかります。
ここに記載されているように、クエリはまだ読み込みプロパティを受け取ります: http://dev.apollodata.com/react/queries.html#default-result-props
私のアプリケーションも redux を使用しているため、コンポーネントを redux に接続し、UI を読み込み状態にする関数プロパティを渡すことが 1 つの方法だと思います。次に、graphql ミューテーションをプロパティに書き換えるときに、redux ストアを更新するための呼び出しを行うことができます。
おおよそこのようなもの:
ミューテーションが「実行中」であることを UI に通知するための、より慣用的なアプローチがあるかどうか、興味があります。ありがとう。
graphql - Apollo/GraphQL Mutation は GraphIQL で機能しますが、クライアント コードでは機能しませんか?
このミューテーションは、http://localhost:8080/graphiqlの GraphIQL で正しく機能しています。
クエリ
...そしてクエリ変数
これをコードに実装する必要があります。
クライアントコード
クエリ変数 (fromID、toID、および msgText) は期待どおりに関数に入りますが、Apollo はエラーをスローします。
message: "Network error: Unexpected token < in JSON at position 0"
私は何が欠けていますか?
apollo - subscriptions-transport-ws で Apollo サーバーをセットアップしますか?
http://dev.apollodata.com/tools/apollo-server/setup.htmlの Apollo ドキュメントに従ってサーバーをセットアップしたようです。私のserver/main.jsファイルでは:
サーバーが正常に初期化されたことを示す「GraphQL Server is now running on http://localhost:8080/graphql 」がターミナル ログに出力されます。
しかし、このコードを実行すると、main_layout コンポーネントの上部で次のようになります。
...次のコンソール メッセージが表示されます。
'ws://localhost:8080/' への WebSocket 接続に失敗しました: ハンドシェイク応答を受信する前に接続が閉じられました
私は何が欠けていますか?
graphql - オブジェクトのオブジェクトの場合、GraphQL スキーマ/リゾルバーはどのように見えますか?
データ
この場合のスキーマとリゾルバーはどのようになりますか?
これは私の最善の試みでしたが、このような例を見たことがないので、よくわかりません.
スキーマ
リゾルバ
graphql - GraphQLクエリでネストされた/名前空間のクエリ変数を使用することは可能ですか?
次のように、クエリ変数を名前空間/ネストしたいと思います。
変数で:
しかし、それは有効なクエリではありません。
ただし、次のようなクエリ:
変数で:
うまくいきます。
これを行う理由は、react ルーターからラップされたコンポーネントに適用されるプロップを使用して、クエリ オプションを ApolloReactgraphql
高次コンポーネントに自動的に送信するためです。この質問は、プロップが反応ルーターによってコンポーネントに適用されるparams
という事実を除けば、基本的に反応ルーターとは何の関係もありません。params
ApolloReact はコンポーネントの props を使用して変数オブジェクトを自動的に構築しようとしますが、変数オブジェクトにid
ネストされprops
ているため、見つけることができません。
別の方法は、変数オブジェクトを受け取って返すメソッドをid
定義することにより、検索する場所を具体的に定義することですが、可能であれば避けたいと思います。options
ownProps
graphql
reactjs - apollo のさまざまなタイプの GraphQL フラグメント
編集: @helfer は、これはバグである可能性があると示唆しました。Githubの問題
新しいアプリケーションでは、Apollo を使用して、graphql 管理を行っています。他のタイプも含めることができる複数のタイプがあります。
開発者としての生活を簡素化するために、フラグメントを使用してコードの重複を回避したいと考えています。
さまざまなタイプのフラグメントを一緒に使用しようとしています。
ただし、Subject フラグメントは BusinessArea タイプには使用できないため、クエリはエラーになります。
これはバグですか、それとも何か見逃しましたか?
定義:
結果のクエリ: