stream 이란?
StreamBuilder<QuerySnapshot>(
stream:
FirebaseFirestore.instance.collection('board').snapshots(),
builder: ((context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
return const CircularProgressIndicator();
}
return ListView.separated(
shrinkWrap: true,
itemBuilder: (context, index) => listTitle(
snapshot.data!.docs[index]['title'],
snapshot.data!.docs[index]['content']),
itemCount: snapshot.data!.docs.length,
separatorBuilder: (BuildContext context, int index) =>
const Divider(
height: 1,
color: Colors.grey,
),
);
}))
if (snapshot.connectionState == ConnectionState.waiting) {
return const CircularProgressIndicator();
}
Widget listTitle(String title, String content) {
return Padding(
padding: const EdgeInsets.all(10.0),
child: GestureDetector(
onTap: () {
print('#########');
},
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'제목 : $title',
style: const TextStyle(fontSize: 15.0, color: Colors.black),
),
Text(
'내용 : $content',
overflow: TextOverflow.visible,
style: const TextStyle(fontSize: 15.0, color: Colors.black),
),
],
),
),
);
}
데이터를 불러오는건 개인적으로 저장하는것 보다 간단한 것 같다고 느꼈고 전체 데이터를 모델을 생성하면 나중에 유지보수하기 쉽도록 구조를 짜는게 좋을 것 같다.