問題タブ [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.
reactjs - Apollo クライアントのキャッシュ
React アプリケーションで apollo クライアントを使い始めたばかりで、キャッシュに行き詰まっています。製品の ID と名前を取得するためのクエリを実行する製品のリストを含むホームページと、ID、名前、説明、および画像のクエリを実行する製品ページがあります。
ユーザーが最初にホームページにアクセスしてから特定の製品ページにアクセスして、その製品の説明と画像のクエリのみを実行し、読み込み中に名前も表示することを望みます (既にキャッシュしておく必要があるため)。ドキュメントの「ストアの制御」の部分(http://dev.apollodata.com/react/cache-updates.html)に従いましたが、それでも解決できませんでした。
製品ページに移動したときに実行されるクエリは、製品の ID と名前の両方を要求しますが、それらは既に要求しているため、キャッシュする必要があります。
私は何かが欠けていると思いますが、それを理解することはできません。コードの一部を次に示します。
そして私のコンソール出力:
apollo - ラップされたコンポーネントの外部でクエリを再フェッチするにはどうすればよいですか?
私は2つの画面を持っています:
Screen1: 結果
Screen2: フィルターの編集
Screen2 でフィルターを編集して戻ると、Screen1 で (新しく作成されたフィルター文字列変数を使用して) クエリを再取得したいと思います。フィルターの編集では、ミューテーションを使用したり、Redux アクションを起動したりしません (ユーザーの検索フィルター/設定をデータベースではなく localStorage/AsyncStorage に保存しているため、ミューテーションはありません)。フォームのローカル状態を変更し、それを使用して、Screen1 の特定のクエリに渡すフィルター文字列を作成するだけです。それが役立つ場合は、両方の画面でフィルター文字列にアクセスできます。
クエリがhttp://dev.apollodata.com/react/recoming-updates.html#Refetchrefetch()
をラップするコンポーネントに限定されているようですが、別の画面からクエリを再実行するにはどうすればよいですか?
Screen1 と Screen2 の両方に同じクエリを配置してから、Screen2 で再取得を呼び出してみました。クエリは機能し、Screen2 で新しいデータを取得しますが、実際に必要な Screen1 で同じ名前のクエリが更新されません。同姓同名ならいいんじゃないの?(ただし、filters 変数は変更されました)
これを間違って設計しているだけで、より簡単な方法がある場合は、お知らせください。2 つの画面があり、両方に同じクエリを配置し、新しいフィルター変数を使用してクエリの 1 つを再フェッチすると、両方の場所で再フェッチが発生するはずですが、現在は個別に処理されています。
javascript - Apollo: データ / ミューテーション プロパティがコンポーネントに渡されない
クエリとミューテーションを含む次のコンポーネントがありますが、コンポーネントはデータとミューテーション プロパティを受け取りません。
コードで何か間違っていることや不足していることはありますか? ただし、クエリは実行されますが、渡されません。this.props.mutate と this.props.data は未定義です。
apollo - Apollo クライアントの optimisticResponse の仕組み
http://dev.apollodata.com/react/mutations.html
を試していoptimisticResponse
ますが、混乱しています...ローカルで動作させることができませんでした。
私の質問は次のとおりです。
- を
optimisticResponse
更新しprops
て再レンダリングしますか?__typename: 'Mutation'
あなたはそれを残すことができることがどれほど重要ですか? updateQueries
は新譜登場?この関数は自動的にトリガーされますか、それとも呼び出す必要がありますか?
アポロサーバー側を含む完全な例はありますか?
angularjs - apollo クライアントを使用して、graphql を angular js に接続する方法
Graphql と angular js を使用して簡単なブログを作成しようとしています。graphql の部分は完了しました。これで、graphql を使用してデータベースにクエリを実行できるようになりました。クエリしたアイテムを Html ページに表示したいと思います。 .angular js と apollo クライアントを使用して実装するにはどうすればよいですか。この例を参照しました
私はアポロと角度が初めてなので、まだ不明です。
reactjs - 反応ルーターで apollo クライアントを使用すると、クライアントが未定義であるというルーター コンテキストの警告が表示されます
Walmart Electrode Starter React アプリに apollo を追加しようとしていますが、クライアント プロパティに関する警告が表示されます。
apollo プロバイダーを使用して、react-router ではないコンポーネントをラップすると、問題なく動作するようです。反応ルーターを追加すると、その警告が表示されますが、ページは引き続き apollo で正常にロードされます。
app.jsx
home.jsx
ルート.jsx
meteor - Graphql、meteor、および apollo で単一のアイテムを照会すると、null 値が返されます
ドキュメントで何かを見落としている可能性がありますが、graphql クエリから単一のオブジェクトを取得できるという問題に遭遇したようです。
スキーマは次のとおりです。
リゾルバーは次のとおりです。
クエリは次のとおりです。
私はこれの結果を得る:
これに何かを追加するのを忘れているだけですか? もしそうなら、正しい方向を教えてもらえますか.