在Flutter中更改流后,屏幕不会刷新

时间:2020-06-19 19:59:53

标签: flutter dart flutter-provider

在Flutter应用程序中,我的'/'路由设置为Wrapper(),
在那个包装器中,我有以下内容:

FirebaseUser user = context.watch<FirebaseUser>();

    if (user == null) {
      return Authentication();
    } else {
      return Home();
    }

此代码的问题是,如果我使用例如Navigator.pushNamed(context, "/login")更新导航堆栈,则上面的return语句不会更新屏幕。

例如,在Authentication()页面之后,我使用Flutter的导航器重定向到“登录”或“注册”页面。而且,如果FirebaseUser的状态从这些页面之一更改,则不会从我的Home()重定向到Wrapper()。我需要手动更新屏幕(在Android Emulator上按回去),然后才将我重定向到Home()


如果需要,我也愿意完成对应用程序结构的“重新设计”。

编辑:另外,我什至需要包装纸吗?我实现了它,以确保用户进入正确的屏幕,因为我不知道应用程序的状态是否有任何解决方法。我可以在没有所有包装废话的情况下只使用导航吗?

0 个答案:

没有答案