【发布时间】:2021-08-13 15:14:55
【问题描述】:
我怎样才能摆脱这个错误或者我可以调用什么来代替 List dynamic 或 Future dynamic 或者我怎样才能将 List 转换为 Future?我只想从 firestore 显示这个文本。 错误:-
Unhandled Exception: type 'List<dynamic>' is not a subtype of type 'Future<dynamic>'
以这种方式获取数据并带我出错的注释行:-
class EditInfo extends StatefulWidget{
@override
EditInfoState createState () => EditInfoState();
}
class EditInfoState extends State<EditInfo>
with SingleTickerProviderStateMixin{
final CollectionReference _reference = FirebaseFirestore.instance.collection("users");
final FirebaseAuth auth = FirebaseAuth.instance;
CreateAccountData accountData;
Future myInterest;
getalldata() async {
Future<CreateAccountData> getUser() async {
final User user = auth.currentUser;
return _reference.doc(user.uid).get().then((m) => CreateAccountData.fromDocument(m));
}
getUser().then((value)async{
accountData= value;
DocumentSnapshot doc = await usercollection.doc(auth.currentUser.uid).get();
myInterest = doc.data()['hobbies'];///Error takes me to,myInterest
});
}
在网格视图中显示它:-
child: FutureBuilder(
future: myInterest,
builder: (BuildContext context,AsyncSnapshot snapshot){
if(!snapshot.hasData){
return Center(
child: CircularProgressIndicator(),
);
} if(snapshot.data.docs.isEmpty){
return Align(
alignment: FractionalOffset.centerLeft,
child: Text("Add what you love to do.....",textAlign: TextAlign.left,style: TextStyle(fontSize: 17),),
);
}return GridView.builder(
physics: BouncingScrollPhysics(),
scrollDirection: Axis.horizontal,
shrinkWrap: true,
itemCount: snapshot.data.docs.length,
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 2, childAspectRatio: 5, crossAxisSpacing: 5,),
itemBuilder: (BuildContext context, int index){
// DocumentSnapshot interestList = snapshot.data.docs[index]['hobbies'];
return Padding(
padding: EdgeInsets.fromLTRB(5, 5, 5, 5),
child: Text(snapshot.data.documents[index]['hobbies']),
);
}
);
},
),
【问题讨论】:
-
你是如何声明
myInterest的? -
未来我的兴趣;
-
请用
myInterest提供您的代码sn-p -
@GAGANSINGH
doc.data()['hobbies'];将返回一个列表。 -
我现在需要在哪里进行哪些更改?所以,我可以获取和显示数据。是在未来的建设者中吗?
标签: flutter dart google-cloud-firestore