問題タブ [optimistic-ui]

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 に答える
274 参照

apollo - Apollo Optimistic UI - 楽観的な作成後に楽観的な更新をどのように処理しますか?

Optimistic UI がどのように機能するかを概念的に理解しようとしています。

シナリオ:

  • 新しいUser「ジョン」を作成するためにミューテーションを送信します -->リクエスト A
  • Optimistic UI 機能を活用して、「John」の「偽の」データをすぐに返します。
    • 偽の「ジョン」にはId「FakeId10001」というフィールドがあります
  • Request Aからの応答を取得する前に、「John」を「Johnny」に更新する別のミューテーションを送信しますname--> Request B
  • リクエスト Aが最終的に処理され、「10001」Userで「John」が作成されますId
  • サーバーはリクエスト Bを処理しようとします。

おそらく、リクエスト BUserは「FakeId10001」でを更新しようとしId、そのユーザーが存在しないため失敗します。

Apollo はRequest Aが応答するのを待ってからRequest Bを送信しますか、またはこの動作を処理するために何か他のものを送信しますか?

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

react-apollo - React apollo ミューテーションと楽観的な更新

HOCの入力タイプに突然変異を伴うgraphqlを使用していますcheckbox。オプティミスティック UI 更新オプションも追加しました。チェックボックスをvalue=trueオンにすると でミューテーションが発生し、チェックを外すと でミューテーションが発生しvalue=falseます。

しかし、問題は、高速クリックによってサーバーへの複数のミューテーション呼び出しが発生し、応答に遅延が生じることです。一方optimisticResponse、更新はその仕事を行い、チェックボックスを切り替えます。サーバーの応答が到着すると、更新関数が再度呼び出され、チェックボックスがトグルされ、UI に不具合が発生します。

予想できる流れをまとめます

クリックの順序:

UI 更新の順序:

これらのグリッチを取り除く方法はありますか?