コンポーネント
← すべてのコンポーネント

楽観的 UI

stimeo--optimistic

押した瞬間に見た目を進め、失敗したぶんだけ正確に戻します。

  • Core
  • Rails / Turbo

Turbo のフォームで、押した瞬間に結果を先取りして見せます。成功すればそのまま残り、最終的な画面はサーバの応答が決めます。失敗したときは、この部品が変えたところだけを元に戻します。もともと表示されていた要素を巻き添えで隠してしまうことはありません。送信中であることも読み上げに伝わります。Turbo が元から出している送信の合図に乗るだけなので、通信の仕組みを差し替えたり、常時つなぎっぱなしにしたりはしません。二重送信の防止と、全員で共有する数の更新は、それぞれ別の部品の役目です。

実行中

どちらのボタンも押した瞬間に「いいね済み」へ変わります。1 つ目は送信が成功するのでそのまま残ります。2 つ目はサーバがわざと拒否するので、変わった表示が元へ戻る様子を見られます。

キーボード操作

このコンポーネント自体はキーボード操作を持ちません。