私は、ニュースフィード書いていますFlatList
バックエンドからデータをフェッチされloadData
、完成した上にrenderItem
。ユースケースと私のコードはどちらも標準です。完全なコードはここにあります:https://gist.github.com/pgbovine/8910348、ここでコメントセクションで私はユースケースを提供しました。
問題は、データのフェッチに時間がかかることです。データの読み込み中にプレースホルダーをレンダリングしたいと思います。現在OneFeed
、アプリの読み込み時には表示されません。アプリが読み込まれると、外観に「ジャンプ」して、すべてが非常に不快になります。
これをどのように達成するかは不明です...OneFeed.rendreItem
実際にレンダリングするタイミングを制御しないため...。
return this.props.getData ? list : null;
ここでは、ActivityIndicatorを次のようにレンダリングしてみることができます。
return this.props.getData ? list : <View><ActivityIndicator /></View>;
ActivitiyIndicatorが中央に表示されない場合は、含まれているビューにいくつかのスタイルを追加できます。
後で追加:
私が見ている一般的な方法の1つは、バックエンドからデータをフェッチしている間は読み込み状態をtrueに設定し、完了したらfalseに設定することです。ロード状態を参照して、ActivityIndicatorを表示できます。
また、アプリのUXを頻繁に改善するには、次のシナリオで何を表示するかを考える価値があります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加