如何使用 StreamBuilder 从一页导航到另一页

Posted

技术标签:

【中文标题】如何使用 StreamBuilder 从一页导航到另一页【英文标题】:how to use StreamBuilder for navigation from one page to another page 【发布时间】:2020-08-13 22:58:42 【问题描述】:

我想检查用户的电话号码是否存在于 firestre 中?如果它存在于 Firestore 中,那么它将导航到 MyHomePage()。它不是导航到我的主页

我的代码是

StreamBuilder<QuerySnapshot>(
                    stream: _firestore.collection('users').snapshots(),
                     builder: (context, snapshot)
                            if(!snapshot.hasData)
                              return Text('Please Enter data');
                            
                            final ph=snapshot.data.documents;
                            List<String> store=[];
                            for(var phonenum in ph)
                                  final catA=phonenum.data['Phone'];
                                  store=[catA];
                                  for(int i=0;i>=store.length;i++)
                                    if(_phone==store[i])
                                      Navigator.pushNamed(context, MyHomePage.id);
                                    
                                    else
                                      Text('Phone is not registered yet');
                                    

                                  

                                ;?

【问题讨论】:

您遇到什么错误?也请检查此post 该页面未导航到我的主页。 【参考方案1】:

您可以使用DocumentSnapshot,而不是使用Querysnapshot。它非常适合您的情况。

代码概览:

Future checkIfAvailableOrNot() async
DocumentSnapshot doc = await db.collection('users').document(_phone).get();
if(doc.exists)

   //navigate to other page

else
   print('no user found');


【讨论】:

以上是关于如何使用 StreamBuilder 从一页导航到另一页的主要内容,如果未能解决你的问题,请参考以下文章

从一页导航到另一页后脚本未加载

从一页到另一页的反应导航不起作用

如何在flutter中从streambuilder导航到其他页面?

将自定义事件表单从一页发送到另一页

从一页切换到另一页

如何在单页应用程序中以角度将数据从一页传递到另一页