我是 equatable 的新手,我认为我的模型中的所有参数都必须是最终的,但我不知道如何处理它......如果我需要修改其中一个参数怎么办?我有一个视图,您可以在其中将新餐厅添加到列表中,并且此列表将保存在 Firestore 中。我正在使用flutter bloc,所以我添加了一个CreateRestaurantFirebaseEvent,这就是我的mapEventToState中发生的事情:
if (event is CreateRestaurantFirebaseEvent)
await _databaseService.createRestaurant(event.restaurant, event.user);
List<Restaurant> restaurantsList = await _databaseService
.loadRestaurantsList(event.user.restaurantsIDsList);
yield LoadedRestaurantsListState(restaurantsList);
}
在我的 database_service 中:
Future createRestaurant(Restaurant restaurant, User user) async {
restaurant.adminId = user.id;
DocumentReference restaurantDoc =
await restaurantCollection.add(restaurant.toMap());
user.restaurantsIDsList.add(restaurantDoc.id);
updateUser(user);
restaurant.id = restaurantDoc.id;
return restaurant;
}
所以,我必须用一些道具更新我的餐厅,但如果我只有最终道具,我就不能这样做。最佳做法是什么?我需要平等,否则我的集团将无法正常工作。
提前致谢