Flutter-如何在没有用户交互的情况下(例如onTap)推送到其他路线?

时间:2018-10-29 03:34:48

标签: ios dart flutter flutter-layout

我是iOS开发人员,现在尝试Flutter。

作为标题,我想要实现的是使一个类像“ manager”那样工作,以在应用程序启动时控制我的页面路由。

例如,在iOS中,我可以在AppDelegate(didFinishedLaunchingWithOptions)/ ViewController(ViewDidLoad / Appear)中检查“布尔”,然后更改rootViewController或推送至所需的ViewController取决于“布尔”,例如将“ isLogin”而是推送到LoginViewController / LoggedViewController。

我知道我可以在用户交互上进行推送,例如听IconButton的onTap。但是我不知道如何“ 自动”。

据我所知,Flutter中的“ build(context)”类似于iOS中的“ viewDidLoad”,但是它专门针对UI,所以我可以在哪里放置逻辑?

1 个答案:

答案 0 :(得分:2)

在InitState()中调用Navigator.push的一种方法:

@override
  void initState() {
    super.initState();
    if(condition){
      WidgetsBinding.instance.addPostFrameCallback((_) async {
        Navigator.push(
            context,
            MaterialPageRoute(
                builder: (BuildContext context) => NextPage()
            )
        );
      });
    }
  }