問題タブ [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.
graphql - Apollo GraphQL: SSR 後の遅延読み込みデータ
次のコードがあります。
Apollo に移行する前に、ALL_LOCATIONS_QUERY を同形フェッチ クライアント側 (基本的には AJAX 要求) としてロードしました。しかし、私はアポロウェイを探していて、まだ持っているかどうかわかりません. いくつかの質問を聞きたいんです。
- を使用して、Home データと Locations データを完全に別々にロードしているため、それらを高次コンポーネント内の複数の関数
graphql(QUERY_NAME, { options })
に個別に配置する必要がありますか?graphql
withApollo(compose([...here])
- 現在、
fetchMore
関数からデータを取得するために次のことを行っていますが、状態内で実行する必要があるため、Apollo はキャッシュのためにそれを認識しています。これについて何か考えはありますか?私は正しい方向に進んでいますか?
事前にどうもありがとうございました!
javascript - キャッチされないエラー: react-apollo は、HOC ごとのクエリ、サブスクリプション、またはミューテーションのみをサポートします
Chat
を使用して、2 つのクエリと 1 つのミューテーションでコンポーネントをラップしようとしていますcompose
。
ただし、コンソールに次のエラーがまだ表示されます。
Uncaught Error:
react-apollo
HOC ごとのクエリ、サブスクリプション、またはミューテーションのみをサポートします。[object Object]
クエリは 2 つ、サブスクリプションは 0、ミューテーションは 0 でした。' ' を使用compose
して、複数の操作タイプをコンポーネントに結合できます
これが私のクエリとエクスポートステートメントです:
どうやら、問題はfindConversations
クエリにあります。コメントアウトすると、エラーが発生せず、コンポーネントが適切に読み込まれます。
何が欠けているのか誰か教えてもらえますか?
ちなみに、allMessagesQuery
関連する場合に備えて、 にもサブスクリプションを設定しています。
javascript - Apollo の自動 UI 更新に関する問題: `updateQuery` が `subscribeToMore` で正しく機能しない
チャット アプリケーションにGraphQL サブスクリプションを使用していますが、UI の更新に問題があります。
私が使用しているクエリとミューテーションは次のとおりです。
Chat
次に、エクスポートするときに、コンポーネントを次のようにラップします。
私はに購読してallMessagesQuery
いcomponentDidMount
ます:
チャットを介してメッセージを送信した後、サブスクリプションが正常にトリガーされ、予想されるデータも含まれている 2 つのログ ステートメントが表示されます。したがって、 の内容はmessages
内で間違いなく正しいですupdateQuery
!
ただし、UI は自動的に更新されません。実際、以前に表示されたメッセージはすべて消えます。
私のrender
方法は次のようになります。
のログ ステートメントrender
は、最初this.props.allMessagesQuery
は arrayallMessages
を持っていることを示しているため、最初の読み込み後にすべてが機能します。
サブスクリプションを受け取った後、 がallMessages
消えthis.props.allMessagesQuery
ます。そのため、空の配列が渡されChatMessages
、何もレンダリングされません。
サブスクリプションがトリガーされる前に✅</p>
サブスクリプションがトリガーされた後❌</p>