我对Flutter / Firebase还是很陌生,对于一个非常简单的CRUD联系人应用程序,提供商实现存在问题。我不确定如何解决此问题。
[VERBOSE-2:ui_dart_state.cc(166)]未处理的异常:'package:provider / src / provider.dart':失败的断言:第284行pos 7:'T!= dynamic':试图调用提供者。的。这可能是一个错误,因此
不支持。
如果要公开可以是任何变量的变量,请考虑更改
从dynamic
到Object
。
这是保存页面的代码。
actions: [
IconButton(
icon: Icon(
Icons.done,
color: Colors.white,
),
onPressed: () async {
//save data to firebase
final uid = await Provider.of<dynamic>(context, listen: false)
.auth
.getCurrentUID();
await db
.collection("userData")
.doc(uid)
.collection('contacts')
.add(
{
'Name': widget.contact.name,
'PhoneNumber': widget.contact.phoneNumber,
'Location': widget.contact.location,
'Notes': widget.contact.notes
},
);
谢谢
答案 0 :(得分:1)
错误消息很不言自明。
您需要在Provider.of语句中使用正确的类型(或Object),而不要使用动态类型。
await Provider.of<CorrectType>(context, listen: false)
.auth
.getCurrentUID();