小编Rya*_*s01的帖子

Flutter - FutureBuilder 在热重载时触发两次

在我的颤动项目中,当我在模拟器中启动项目时,一切正常,未来的构建器仅触发一次,但是当我进行热重载时,FutureBuilder 会触发两次,这会导致错误,知道如何解决这个问题吗?

  Future frameFuture()  async {
    var future1 = await AuthService.getUserDataFromFirestore();
    var future2 = await GeoService.getPosition();
    return [future1, future2];
  }

  @override
  void initState() {
    user = FirebaseAuth.instance.currentUser!;
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return FutureBuilder(
        future: frameFuture(),
        builder: (context, snap) {
          if (snap.connectionState == ConnectionState.done && snap.hasData) return HomePage();
          else return Container(
            color: Colors.black,
            child: Center(
              child: spinKit,
            ),
          );
        }
    );
  }
Run Code Online (Sandbox Code Playgroud)

future dart flutter flutter-futurebuilder

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

标签 统计

dart ×1

flutter ×1

flutter-futurebuilder ×1

future ×1