HOC
の入力タイプに突然変異を伴うgraphqlを使用していますcheckbox
。オプティミスティック UI 更新オプションも追加しました。チェックボックスをvalue=true
オンにすると でミューテーションが発生し、チェックを外すと でミューテーションが発生しvalue=false
ます。
しかし、問題は、高速クリックによってサーバーへの複数のミューテーション呼び出しが発生し、応答に遅延が生じることです。一方optimisticResponse
、更新はその仕事を行い、チェックボックスを切り替えます。サーバーの応答が到着すると、更新関数が再度呼び出され、チェックボックスがトグルされ、UI に不具合が発生します。
予想できる流れをまとめます
クリックの順序:
Check => Uncheck => Check
UI 更新の順序:
Check(optimistic response) => Uncheck(optimistic response) => Check(server response) => Check(Optimistic response) => Uncheck(server response) => Check(server response)
これらのグリッチを取り除く方法はありますか?