streambuilder를 통해서 갱신될 때 마다 값을 변경
import 'package:flutter/material.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: MyHome(),
);
}
}
class MyHome extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
body: StreamBuilder(
stream: FirebaseFirestore.instance.collection('chats/3pABkWJUaZEgxcQfHg7G/message').snapshots(),
builder: (BuildContext context, AsyncSnapshot<dynamic> snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
return Center(child: CircularProgressIndicator());
} else {
final docs = snapshot.data!.docs;
return ListView.builder(
itemCount: docs.length,
itemBuilder: (context, index) {
return Text(docs[index]['text']);
},
);
}
},
),
);
}
}
'flutter' 카테고리의 다른 글
quicktype.io 를 통해서 데이터 객체 생성하기 (0) | 2023.09.04 |
---|---|
다른 앱으로부터 공유받기 - flutter_sharing_intent (0) | 2023.09.03 |
Value Key (0) | 2022.05.15 |
Global key (0) | 2022.05.15 |