Flutter 如何在弹出堆栈后调用initstate或didchangedependencies

Flutter 如何在弹出堆栈后调用initstate或didchangedependencies,flutter,dart,Flutter,Dart,我使用的是bloc设计模式,当我从屏幕1浏览屏幕2时,dispose方法被触发,因此我的流被关闭。从屏幕2弹出后,返回屏幕1。但在这种情况下,我的bloc仍在内存中,当我想向流中添加数据时,我收到错误状态:调用close后无法添加新事件。我需要在弹出后调用initstate或didchangedependecies方法来再次初始化我的bloc。有办法吗 很快我需要再次初始化我的集团。这就是我试过的。但是这个方法不会在从另一个屏幕弹出后触发 DeckBloc deckBloc; @over

我使用的是bloc设计模式,当我从屏幕1浏览屏幕2时,dispose方法被触发,因此我的流被关闭。从屏幕2弹出后,返回屏幕1。但在这种情况下,我的bloc仍在内存中,当我想向流中添加数据时,我收到
错误状态:调用close后无法添加新事件。我需要在弹出后调用initstate或didchangedependecies方法来再次初始化我的bloc。有办法吗

很快我需要再次初始化我的集团。这就是我试过的。但是这个方法不会在从另一个屏幕弹出后触发

 DeckBloc deckBloc;

  @override
  void initState() {
    deckBloc = new DeckBloc();
    super.initState();
  }

  @override
  void didChangeDependencies() {
    deckBloc = new DeckBloc();
    super.didChangeDependencies();
  }

当您准备导航到第二页开始时,请等待结果并在所做导航的结果回调中重新初始化您的bloc

Navigator.of(context.pushName('second page route'))
.然后((结果){
//当您从第二页弹出并导航回此处时,将运行此代码块
//在这里初始化您的bloc
deckBloc=新deckBloc();
});

很高兴我能帮上忙