为什么在各页之间切换时会看到这种奇怪的滞后?

时间:2019-05-30 00:44:55

标签: mobile flutter dart

在AppBar中单击一个应该带我到“个人资料”页面的图标时,有些奇怪。 “个人资料”页面的内容立即显示在上一页的顶部,然后在第二秒之后加载“个人资料”页面,一切都很好。从“个人资料”页面返回到上一页时,也会发生同样的事情。

这里是指向屏幕录像https://vimeo.com/user99110764/review/339241883/a39312e6d8

的链接

下面是AppBar中“配置文件”按钮的代码

class ProfileButton extends StatelessWidget {

  final store = AppStore.store;

  @override
  Widget build(BuildContext context) {

    return IconButton(
      onPressed: () async {
        if (store.state.userState.user == null) {
          AppNavigator.signInPage();
        } else {
          AppNavigator.profilePage();
        }
      },
      tooltip: 'Profile',
      icon: Icon(Icons.person),
    );
  }
}

EDIT:

static profilePage() {
  navigator.currentState.pushNamed('/profile');
}

static signInPage() {
  navigator.currentState.pushNamed('/sign_in');
}

由于该视频无法正常播放,我将尝试说明发生了什么。我在具有列表视图的应用程序的主页上。登录后,我在AppBar中单击配置文件按钮,以便导航到“配置文件”页面,但是发生的情况是,配置文件页面的内容(图像+注销按钮)立即呈现在主页顶部大约一秒钟后,“个人资料”页面的背景就会加载,一切看起来都应该如此。

1 个答案:

答案 0 :(得分:0)

异步函数使用await表达式。希望这会有所帮助... Dart asynchronous programming