如何将它从userUid获取到StreamBuilder Flutter

问题描述

我想知道如何将我的函数userUid()传递给StreamBuilder {

FirebaseAuth auth = FirebaseAuth.instance;

  userUid() async {
    final FirebaseUser user = await auth.currentUser;
    final uid = user.uid;
    return  uid;


  }

我要传递它的位置,以基于登录的用户UID获取文档。

final tabs = [

final documentId = await userUid();
    Center(
        child: (Scaffold(
        body: StreamBuilder (
              stream: FirebaseFirestore.instance.collection('users').document(userUid()).snapshots(),builder: (context,snapshot) {
                  if (snapshot.data == null) return CircularProgressIndicator();

                  return Container(
                    padding: EdgeInsets.all(16),child: ListView.builder(

当我在final documentId = await useruid();内部传递函数final tabs =[

我收到错误消息
error: Expected an identifier. (missing_identifier at lib/pages/home.dart:39) error: Expected to find ']'. (expected_token at lib/pages/home.dart:39)

idk我可以怎么做才能通过此功能...

与某人知道示例文档,以便我可以研究如何做

完整代码:

final tabs = [

  final documentId = await userUid();
    Center(

        child: (Scaffold(
        body: StreamBuilder (
              stream: FirebaseFirestore.instance.collection('users').document(userUid()).snapshots(),child: ListView.builder(
                        itemCount: snapshot.data.documents.length,itemBuilder: (context,index) {
                          DocumentSnapshot manuais =
                          snapshot.data.documents[index];

                          return Card(
                            color: Colors.grey[250],child: Container(
                              padding: EdgeInsets.all(10),child: Column(
                                crossAxisAlignment: CrossAxisAlignment.start,children: <Widget>[

                                  new Image.asset('Images/pdflogo.png',width: 32,),Center(
                                    child: Text(
                                      (manuais.data()['nome'].toString()),maxLines: 1,overflow: TextOverflow.ellipsis,style: TextStyle(fontSize: 16),ButtonBar(
                                    children: <Widget>[

                                      FlatButton(
                                          child: const Text('Compartilhar / Download'),onPressed: () async {
                                            var request = await HttpClient().getUrl(Uri.parse(manuais.data()['documento']));
                                            var response = await request.close();Uint8List bytes = await consolidateHttpClientResponseBytes(response);
                                            await Share.file(
                                                'ESYS AMLOG','Manual.pdf',bytes,'image/jpg');
                                          }),],);
                        }),);
                })))),Center(
        child: (Scaffold(
            body: StreamBuilder(
                stream: FirebaseFirestore.instance.collection('producao').snapshots(),index) {
                          DocumentSnapshot producao =
                          snapshot.data.documents[index];

                          return Card(
                            color: Colors.grey[250],children: <Widget>[
                                  Center(
                                    child: Image.network(producao.data()['img'].toString(),width: 260,Text(
                                    (producao.data()['data'].toString()),style: TextStyle(fontSize: 22),Text(
                                    (producao.data()['detail'].toString()),ButtonBar(
                                    children: <Widget>[

                                      FlatButton(
                                          child: const Text('DETALHES'),onPressed: () {
                                            ImageViewer.showImageSlider(
                                              images: [
                                                (producao.data()['img']),//List of images' URLs
                                              ],);

                                          }),FlatButton(
                                          child: const Text('COMPARTILHAR'),onPressed: () async {

                                            var request = await HttpClient().getUrl(Uri.parse(producao.data()['img']));
                                            var response = await request.close();Uint8List bytes = await consolidateHttpClientResponseBytes(response);
                                            await Share.file(
                                                'ESYS AMLOG','amlog.jpg','image/jpg'
                                            );
                                          }),Center(child: Text('Documentos')),]; //<<<<<<<<<<<<<<< here closes the tab

````

 









解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)