data,bool active) 其显示错误图不是ty'地图',firebase,flutter,dart,google-cloud-firestore,flutter-dependencies"/>

首页 > 解决方案 > 访问数据时 _buildStoryPage( Mapdata,bool active) 其显示错误图不是ty'地图'

问题描述

在访问数据 _buildStoryPage( Map<String, dynamic> data,bool active) 时,它显示的错误类型 '() => Map<String, dynamic>' 在 cloudfirestore 库升级之前不是类型 'Map<String, dynamic>' 的子类型它工作正常。
code here

 StreamBuilder(
        stream: slides,
        initialData: [],
        builder: (BuildContext context, AsyncSnapshot snap){
          List slideList=snap.data.toList();
          return PageView.builder(

              controller: ctrl,
              itemCount: slideList.length+1,
              itemBuilder:(context,int currentIndex){
                if(currentIndex==0){
                  return _buildTagPage();
                }
                else if (slideList.length>=currentIndex){
                  bool active=currentIndex==currentPage;
               
                    //error  at this line
                  return _buildStoryPage(slideList[currentIndex-1],active);
                }
                return Loader();
              }
          );
        },
      ),

 Stream  _queryDb({String tag="New"}){
    Query query=db.collection('Stories').where("tag",arrayContains: tag);
    slides =query.snapshots().map((list)=>list.docs.map((d)=>d.data));
    setState(() {
      activeTag=tag;
    });

  }

  _buildStoryPage(  Map<String, dynamic> data,bool active){
// while providing the value to _buildStoryPage(slideList[currentIndex-1],active)  its error 
//type '() => Map<String, dynamic>' is not a subtype of type 'Map<String, dynamic>'
}

标签: firebaseflutterdartgoogle-cloud-firestoreflutter-dependencies

解决方案


这是一个函数:

  Map<String, dynamic> data() {
                    return slideList[currentIndex-1];
                  }

在您的代码中,您通过函数名称调用它并且不运行它:

_buildStoryPage(  Map<String, dynamic> data,bool active){

您需要运行该函数以获得预期的结果:

_buildStoryPage(  Map<String, dynamic> data(),bool active){

推荐阅读