class ReviewProvider with ChangeNotifier {
late CollectionReference reviewReference;
List<Review> reviews = [];
reviewProvider({reference}) {
reviewReference = reference ?? FirebaseFirestore.instance.collection('review');
}
Future<void> fetchItems() async {
reviews = await reviewReference.get().then( (QuerySnapshot results) {
return results.docs.map( (DocumentSnapshot document) {
return Review.fromSnapshot(document);
}).toList();
});
notifyListeners();
}
}
class body_review_write extends StatefulWidget {
const body_review_write({Key? key}) : super(key: key);
@override
State<body_review_write> createState() => _body_review_writeState();
}
class _body_review_writeState extends State<body_review_write> {
@override
Widget build(BuildContext context) {
final reviewProvider = Provider.of<ReviewProvider>(context);
return FutureBuilder(
future: reviewProvider.fetchItems(),
builder: (context, snapshots) {
return Center(
child: Text(reviewProvider.reviews.toString()),
);
},
);
}
}