- 先ほどまでFlutterでWidgetの入れ子表示にはこんな感じのコードを使っていたのだが、いまいちComponentや他のViewとの相性が悪いという課題があった。
Row(
children: [
for(int i = 0; i < cover.length; i++) ... {
TitleListComponent(cover: cover)
}
],
),
- そこで
ListViewモディファイアを用いる
ListView.builder(
itemCount: cover.length,
itemBuilder: (context, index) {
return TitleListComponent(cover: cover[index]);
},
),
- SwiftUIにおける
ScrollViewとVStackが一体化していて、とても使いやすい。 - 従来のプログラミングによるインクリメントによる入れ子表示をする必要がなく、
itemCountに最大値を入れたら勝手に0~最大値の範囲でコンポーネントを自動生成してくれる。 - それでいてコードが短くて綺麗。
まだ知らないだけで、ListView特有の課題がありそうだけれども、しばらくはこれを使っていけばいいかな。