无法在包含 StatefulWidget 的颤振文件中添加 mongodart

Posted

技术标签:

【中文标题】无法在包含 StatefulWidget 的颤振文件中添加 mongodart【英文标题】:Can't add mongodart in a flutter file which contains a StatefulWidget 【发布时间】:2019-04-07 17:01:13 【问题描述】:

我当然是第一个提出这个问题的人,因为我在互联网上没有发现任何关于这个问题的信息。当我尝试在我的颤振应用程序的主文件中导入 mongodart 时,我在我的 IDE(VsCode)中遇到了这个错误,当我尝试使用 flutter run 运行项目时:

名称“State”在库“framework.dart”中定义,并且 'mongo_dart.dart'。

更多:

编译器消息:lib/main.dart:37:32:错误:预期为 0 类型 论据。类 _MyHomePageState 扩展状态 ^ lib/main.dart:34:20: 错误:方法'MyHomePage::createState'的返回类型是

lib1::_MyHomePageState,与被覆盖方法的返回类型不匹配(#lib2::State)。换成一个

#lib2::State 的子类型。 _MyHomePageState createState() => new _MyHomePageState(); ^ file:///home/quentin/flutter/packages/flutter/lib/src/widgets/framework.dart:1: 错误:这是被覆盖的方法('createState')。 lib/main.dart:41:5:错误:找不到方法:'setState'。 设置状态(() ^^^^^^^^ lib/main.dart:41:5:错误:没有为类“#lib1::_MyHomePageState”定义方法“setState”。尝试纠正 name 为现有方法的名称,或定义一个名为 '设置状态'。 设置状态(() ^ lib/main.dart:63:25:错误:找不到吸气剂:“小部件”。 标题:新文本(widget.title), ^^^^^^ lib/main.dart:63:25: 错误:没有为类 '#lib1::_MyHomePageState' 定义 getter 'widget'。尝试 将名称更正为现有 getter 的名称,或定义一个 getter 或名为“小部件”的字段。 标题:新文本(widget.title),

注意:StatefulWidget 来自示例应用程序。

我确定这个问题是由mongodart 引起的,因为当我删除时:

import 'package:mongo_dart/mongo_dart.dart';

任何形式的错误都会消失。 Here's 导致问题的代码。

【问题讨论】:

【参考方案1】:

是的,mongo 包中有一个名为“State”的类会导致冲突,您可以为该包使用别名,如下所示。

import 'package:mongo_dart/mongo_dart.dart' as mongo;

如果你想访问任何 mongo_dart 类,只需使用:

mongo.NameOfTheClass 

【讨论】:

天啊:mongo_dart 的开发人员怎么能做这样的事情???无论如何感谢您的帮助!

以上是关于无法在包含 StatefulWidget 的颤振文件中添加 mongodart的主要内容,如果未能解决你的问题,请参考以下文章

如何在颤振上创建这样的卡片?

颤振错误符文不是函数或方法,无法调用

颤振脚手架appbar是灰色的

提取的小部件内的颤振滑块

无法识别颤振

无法在颤振中构建apk