0

我是 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;
  }

所以,我必须用一些道具更新我的餐厅,但如果我只有最终道具,我就不能这样做。最佳做法是什么?我需要平等,否则我的集团将无法正常工作。

提前致谢

4

0 回答 0