Flutter 如何重置颤振中的Navigator.pop回调值?

Flutter 如何重置颤振中的Navigator.pop回调值?,flutter,callback,navigator,Flutter,Callback,Navigator,请接受我下面的解释。 我有一个包含2个底部导航栏项的页面: Page1(), Page2(), 在Page1中有一个按钮,可导航到另一个名为PostSomethingPage的页面: // in Page1 onPressed: () => Navigator.push( context, MaterialPageRoute<bool>(builder: (context) => PostSomethingPage())) .then(

请接受我下面的解释。 我有一个包含2个底部导航栏项的页面:

Page1(),
Page2(),
Page1
中有一个按钮,可导航到另一个名为
PostSomethingPage
的页面:

// in Page1
onPressed: () => Navigator.push(
   context, MaterialPageRoute<bool>(builder: 
     (context) => PostSomethingPage()))
        .then((isPostSuccess) => isPostSuccess 
          ? print('is Success!') : print('Failed!'));
然后,一旦我们返回到
Page1
,就会收到来自回调的值,并相应地执行print语句,此时一切似乎都正常

但是当我导航到
Page2
并返回到
Page1

注意:此时,我已从
Page1
=>
PostSomethingPage
=>返回到
Page1
,然后返回
Page2


因为当我再次返回到
Page1
时,print语句将根据最后一个已知值再次打印。但是我想要的是将回调值重置为空,而不是使用
true
false

使用变量存储PostSomethingPage返回的值

//our variable initialized with null
bool isPostSuccess;

@override
Widget build(BuildContext context) {
  return FlatButton(onPressed: () async {
    //going to PostSomethingPage from Page1
    isPostSuccess = await Navigator.of(context).push(
        MaterialPageRoute<bool>(builder: (context) {
          return PostSomethingPage();
        })
    );
  }, child: Text(''));
  //we are back at the Page1
  //isPostSuccess will not be null
}
//我们的变量初始化为null
bool是成功的象征;
@凌驾
小部件构建(构建上下文){
返回扁平按钮(ON按下:()异步{
//从第1页转到Postsomething页
isPostSuccess=wait Navigator.of(context.push)(
MaterialPage路线(生成器:(上下文){
返回PostSomethingPage();
})
);
},child:Text(“”));
//我们回到第一页
//iPostSuccess将不为空
}
现在,在转到第2页之前,只需再次将isPostSuccess的值设置为null

    //going to Page2 from Page1
    isPostSuccess = null;
    Navigator.of(context).push(
        MaterialPageRoute<bool>(builder: (context) {
          return Page2();
        })
    );
//从第1页转到第2页
isPostSuccess=null;
导航器.of(上下文).push(
MaterialPage路线(生成器:(上下文){
返回第2页();
})
);

callBackResult=null
在导航到第2页之前,还是我遗漏了一点?我不确定您所说的
callBackResult
是什么意思,我如何从
Page1
访问它?
    //going to Page2 from Page1
    isPostSuccess = null;
    Navigator.of(context).push(
        MaterialPageRoute<bool>(builder: (context) {
          return Page2();
        })
    );