問題タブ [react-apollo]

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 投票する
0 に答える
981 参照

graphql - Apollo GraphQL: SSR 後の遅延読み込みデータ

次のコードがあります。

Apollo に移行する前に、ALL_LOCATIONS_QUERY を同形フェッチ クライアント側 (基本的には AJAX 要求) としてロードしました。しかし、私はアポロウェイを探していて、まだ持っているかどうかわかりません. いくつかの質問を聞きたいんです。

  • を使用して、Home データと Locations データを完全に別々にロードしているため、それらを高次コンポーネント内の複数の関数graphql(QUERY_NAME, { options })に個別に配置する必要がありますか?graphqlwithApollo(compose([...here])
  • 現在、fetchMore関数からデータを取得するために次のことを行っていますが、状態内で実行する必要があるため、Apollo はキャッシュのためにそれを認識しています。これについて何か考えはありますか?私は正しい方向に進んでいますか?

事前にどうもありがとうございました!

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

javascript - キャッチされないエラー: react-apollo は、HOC ごとのクエリ、サブスクリプション、またはミューテーションのみをサポートします

Chatを使用して、2 つのクエリと 1 つのミューテーションでコンポーネントをラップしようとしていますcompose

ただし、コンソールに次のエラーがまだ表示されます。

Uncaught Error: react-apollo HOC ごとのクエリ、サブスクリプション、またはミューテーションのみをサポートします。[object Object]クエリは 2 つ、サブスクリプションは 0、ミューテーションは 0 でした。' ' を使用composeして、複数の操作タイプをコンポーネントに結合できます

これが私のクエリとエクスポートステートメントです:

どうやら、問題はfindConversationsクエリにあります。コメントアウトすると、エラーが発生せず、コンポーネントが適切に読み込まれます。

何が欠けているのか誰か教えてもらえますか?

ちなみに、allMessagesQuery関連する場合に備えて、 にもサブスクリプションを設定しています。

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

javascript - Apollo の自動 UI 更新に関する問題: `updateQuery` が `subscribeToMore` で正しく機能しない

チャット アプリケーションにGraphQL サブスクリプションを使用していますが、UI の更新に問題があります。

私が使用しているクエリとミューテーションは次のとおりです。

Chat次に、エクスポートするときに、コンポーネントを次のようにラップします。

私はに購読してallMessagesQuerycomponentDidMountます:

チャットを介してメッセージを送信した後、サブスクリプションが正常にトリガーされ、予想されるデータも含まれている 2 つのログ ステートメントが表示されます。したがって、 の内容はmessages内で間違いなく正しいですupdateQuery!

ただし、UI は自動的に更新されません。実際、以前に表示されたメッセージはすべて消えます。

私のrender方法は次のようになります。

のログ ステートメントrenderは、最初this.props.allMessagesQueryは arrayallMessagesを持っていることを示しているため、最初の読み込み後にすべてが機能します。

サブスクリプションを受け取った後、 がallMessages消えthis.props.allMessagesQueryます。そのため、空の配列が渡されChatMessages、何もレンダリングされません。

サブスクリプションがトリガーされる前に✅</p>

ここに画像の説明を入力

サブスクリプションがトリガーされた後❌</p>

ここに画像の説明を入力