访问数据 _buildStoryPage( Map<String, dynamic> data,bool active) 时显示错误 Map<String, dynamic>

Posted

技术标签:

【中文标题】访问数据 _buildStoryPage( Map<String, dynamic> data,bool active) 时显示错误 Map<String, dynamic> not ty \'Map<String, dynamic>\'【英文标题】:While accessing data _buildStoryPage( Map<String, dynamic> data,bool active) its showing error Map<String, dynamic> not ty 'Map<String, dynamic>'访问数据 _buildStoryPage( Map<String, dynamic> data,bool active) 时显示错误 Map<String, dynamic> not ty 'Map<String, dynamic>' 【发布时间】:2021-09-11 07:20:00 【问题描述】:

访问数据时 _buildStoryPage(Map data,bool active) 显示 错误类型 '() => Map' 不是类型 'Map' 的子类型 在 cloudfirestore 库升级其工作正常之前。 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>'

【问题讨论】:

【参考方案1】:

这是一个函数:

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

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

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

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

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

【讨论】:

嘿,感谢您的帮助。我删除了这个函数 Map data() return slideList[currentIndex-1]; 列表 slideList=snap.data.toList();然后在幻灯片列表中我传递值 return _buildStoryPage(slideList[currentIndex-1],active); 在 cloudfirestore 库更新其工作之前,我使用上述方式仍然是相同的问题类型 '() => Map' 不是类型 'Map' 的子类型很好。 您能否用新代码更新您的问题。 更新了我只是删除了 data() 函数。

以上是关于访问数据 _buildStoryPage( Map<String, dynamic> data,bool active) 时显示错误 Map<String, dynamic> 的主要内容,如果未能解决你的问题,请参考以下文章

unordered_map _begin 访问权限错误

C++ stl unordered_map 单写(只插入,不删除)和单读并发访问

javaWeb_统计IP

像数组一样访问 std::map 的 std::map

java redis删除删除不了数据 求解

C++ Map 不应该是随机访问数据结构,而不是双向访问数据结构吗?