相关疑难解决方法(0)

小部件树内的条件导航

我之前问过但事情已经改变了,今天我意识到我之前得到的解决方案存在严重问题。我的算法有点改变。

这是新代码:

  @override
  Widget build(BuildContext context) {
    return Material(
      child: FutureBuilder(
        future: _future,
        builder: (context, snapshot) {
          if (snapshot.hasData) {
            print('BOOT VALUE IS ${snapshot.data}');
          }
          return !snapshot.hasData
              ? SplashScreen()
              : snapshot.data ? HomePage() : FirstScreen();
        },
      ),
    );
  }
Run Code Online (Sandbox Code Playgroud)

使用此解决方案,每次我在 FutureBuilder 内有条件地呈现的页面内导航时,都会执行 BootScreen 页面函数。所以这不是最好的......我需要在 Future Builder 中毫无问题地执行 Navigation,如下所示:

  @override
  Widget build(BuildContext context) {
    return Material(
      child: FutureBuilder(
        future: _future,
        builder: (context, snapshot) {
          if (snapshot.hasData) {
            print('BOOT VALUE IS ${snapshot.data}');
          }
          return !snapshot.hasData
              ? SplashScreen()
              : snapshot.data
                  ? Navigator.of(context).pushReplacement(
                      MaterialPageRoute(builder: …
Run Code Online (Sandbox Code Playgroud)

dart flutter

4
推荐指数
1
解决办法
1373
查看次数

标签 统计

dart ×1

flutter ×1