简体   繁体   English

Flutter:在无状态小部件中调用异步方法

[英]Flutter: Call Async methods in stateless widgets

I have a Async method that I want to call in a stateless widget.我有一个要在无状态小部件中调用的异步方法。 While running it it says运行时它说

Future dynamic Is not a sub type of widget未来动态 不是小部件的子类型

And then it shows the result after some seconds.How can I stop it?然后它会在几秒钟后显示结果。我怎样才能停止它? This is my method这是我的方法

    var onvalue = await Firestore.instance
        .collection("userdata")
        .document(user.uid)
        .get();
    if (onvalue.exists) {
      return Navigator.pushReplacement(context,
        MaterialPageRoute(builder: (context) => mainhomepage()),);
    }
    else {
      print("register");
      return  Navigator.pushReplacement(context,
        MaterialPageRoute(builder: (context) => Register()),);
    }
 }

And my main body还有我的主体

Widget build(BuildContext context) {
    var user = Provider.of<User>(context);
    //return either home or authenticate
    return MaterialApp (
        home: user != null?check(user)//Calling the function
            :app()
    );
  }

You can use Futurebuilder.您可以使用 Futurebuilder。

Widget build(BuildContext context) {
    var user = Provider.of<User>(context);
    //return either home or authenticate
    return MaterialApp (
        home: user != null?
              FutureBuilder(
              future: check(user),
              builder: (_, snapshot) {
                if (snapshot.connectionState == ConnectionState.done) {
                  return Text(snapshot.data);
                } else {
                  return CircularProgressIndicator();
                }
              },
            )
            :app()
          );
      }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Flutter:无状态小部件中的可变字段 - Flutter: Mutable fields in stateless widgets 是否有无状态小部件的 initState 和 didChangeDependencies 方法的替代品? - Is there a replacement for initState and didChangeDependencies methods for Stateless Widgets? 如何调用或找到一种方法让底部导航栏与 Flutter 中的无状态小部件一起使用? - How do I call or find a way to get bottom nav bar to work with stateless widgets in Flutter? Flutter 中有状态和无状态小部件之间的关系是什么? - What is the relation between stateful and stateless widgets in Flutter? Flutter 可重复使用的方法/小部件 - Flutter resusable methods/widgets 在 Flutter 中使用 BLoC - 在有状态小部件与无状态小部件中的使用 - Using BLoC in Flutter - Usage in Stateful widgets vs Stateless Widgets 在无状态小部件中创建的变量不能在子小部件中使用(Flutter) - Variable created in stateless widget cannot be used in child widgets (Flutter) Flutter - 在两个小部件中运行两个异步 - Flutter - running two async in two widgets 如果 flutter 中的有状态小部件可以实现无状态小部件,为什么我们需要无状态小部件? - Why do we need stateless widgets if the same can be achieved by stateful widgets in flutter? Flutter 中小部件的方法与单独的类? - Methods vs separate classes for widgets in Flutter?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM