2

我正在实现包含三个选项卡的颤振应用程序,在这个应用程序中我使用块模式,块包含 API 调用和流。

现在 API 调用是在块类的构造函数中进行的。

class FeedListingBlock extends BlocBase {

  String _category;

  PublishSubject<FeedResponse> _feedListingController =
  PublishSubject<FeedResponse>();
  Sink<FeedResponse> get feedListing => _feedListingController.sink;
  Stream<FeedResponse> get feedListingStream => _feedListingController.stream;

  void getFeedList(String filter, String page) {
    getFeeds(_category, page, filter).then((feedResponse) {
      feedListing.add(feedResponse);
    });
  }

  @override
  void dispose() {
    _feedListingController.close();
  }

  FeedListingBlock(this._category) {
    getFeedList('All', '1');
  }

}

我有三个选项卡,因此它将创建三个实例,FeedListingBlock并且我必须StreamWidgets收听流。

如果我这样做,它会在每次主屏幕状态发生变化时进行 API 调用,因为它会重新绘制选项卡。

那么当我们使用TabBarView类似的小部件时,在哪里调用 API 呢?

我们是否必须在initStatebuild方法中调用API?

4

0 回答 0