尝试获取当前用户的 uid 并发送短信,但遇到 Provider 实现错误。
尝试致电 Provider.of。这可能是一个错误,并且是
因此不受支持。如果你想公开一个变量,可以
任何事情,考虑改变dynamic
to Object
反而。
'package:provider/src/provider.dart': 断言失败:第 307 行 pos
7: 'T != 动态'
这是使用提供程序的代码
return SingleChildScrollView(
child: Column(
children: [
FutureBuilder(
future: Provider.of(context, listen: false).auth.getCurrentUid(),
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.done) {
return Text("${snapshot.data}");
} else {
return CircularProgressIndicator();
}
})
],
),
);
获取当前uid的函数
//GET UID
Future<String> getCurrentUid() async {
return _auth.currentUser.uid;
}
我怎样才能解决这个问题?
非常感谢任何帮助!
先感谢您。
只需更换
future: Provider.of(context, listen: false).auth.getCurrentUid(),
with
future: Provider.of<YOUR_PROVIDER_CLASSNAME>(context, listen: false).auth.getCurrentUid(),
你应该没问题。
你唯一可以利用的时刻Provider.of
没有指定应提供的类,是在初始化提供程序的变量时。
MyProvider _myProvider = Provider.of(context, listen: false);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)