私はReact/Reduxで作業しているアプリを持っています。値が変更されたときに、APIを介してエンティティをデータストアに自動保存することが含まれます。React/Reduxで一定期間イベントを持続
エンティティが保存されている間にユーザーに「読み込み中」インジケータを提示し、「保存済み」と表示したいとします。または応答がAPIから戻ってエンティティの状態を更新すると、何か他のメッセージが表示されます。
私は実際にこれをうまく動作させています。私の減速は
case "UPDATE_ROUND_REQUEST":
newState = {...state};
newState[action.meta.id].isSaving = true;
return newState;
case "UPDATE_ROUND":
newState = {...state};
newState[action.meta.id] = action.payload; // This response doesn't have the isSaving prop set
return newState;
されており、唯一の問題は、50msのようなもので、その私のAPIが返すデータである私のコンポーネントの小道具は、このエンティティを受け取り、コンポーネントは、私が欲しい「保存」メッセージ
を表示するisSaving
プロパティにアクセス。基本的に瞬時に、このメッセージは見られないほど瞬時に。 UXの観点から私が望むものは、エンティティがローディング中であることを小道具を介して検出したときに、データが保存されていることをユーザが確信できるように保存メッセージを妥当な時間表示する。
私はそれを何らかの無国籍の方法で処理するのに苦労しています。
ヒントありがとうございます!
これはこれを実行するかなり良い方法だと思います。ヘルパーファイルの小さな関数に 'moment'を使って交換したいと思います。これが良いユーザーエクスペリエンスであるかどうかに関しては、私は引き裂かれています。私は、スピナーを表示するだけでユーザーを待機させる考えが本当に好きであるかどうかはわかりません。 – patrick
あまりにも速く発生しているような相互作用は、ユーザーエクスペリエンスが否定的であることはかなり定評があります。しかし、実際の問題は、私の状況では、それは自動保存だということです。ユーザーは何も待っていません。私は、コンテンツが保存されていることをユーザーに知らせてもらいたい。インジケータが「保存」状態と「保存済み」状態を切り替わらず、保存するボタンがない場合、コンテンツが保存されたことをどのように知ることができますか? https://uxmag.com/articles/let-your-users-wait | https:// nexibeo。 –
私が@patrickに賛成するのは、これが唯一のものであれば、おそらく残忍さと小さなユーティリティ機能で十分でしょう。私は通常、アプリケーションの他の部分で瞬間を使用するので、実際にオーバーヘッドはかかりません。 UIについては、私は双方の主張を聞いたことがあり、最終的にはユースケースやユーザーやプロジェクトオーナーが好むものに依存していると思う。私はそれがいくつかの例では必要ではないかもしれないが、スプラッシュスクリーンのようなものでは、持っているといいかもしれないことが分かります。 –