我有一个StreamBuilder
正在从我的bloc组件中获取数据。
但是,它一直拒绝我的类型注释AsyncSnapshot<List<int>> snapshot
,并且只接受dynamic作为类型AsyncSnapshot<List<dynamic>> snapshot
。但是在我看过的示例中,它们确实带有类型注释,没有任何抱怨。
这是我的流创作。
Widget buildList(StoriesBloc bloc) {
return StreamBuilder(
stream: bloc.topIds,
builder: (BuildContext context, AsyncSnapshot<List<int>> snapshot) {
if (!snapshot.hasData) {
return Text("Still Waiting for Ids to fetch");
}
return ListView.builder(
itemCount: snapshot.data.length,
itemBuilder: (context, int index) {
return Text('${snapshot.data[index]}');
},
);
},
);
}
我做错了什么?
答案 0 :(得分:0)
结果是我的bloc.topIds
结果类型不是List<int>
类型。
Observable<List> get topIds => _topIds.stream;
所以我只是将其更改为满足所需类型。
Observable<List<int>> get topIds => _topIds.stream;
这解决了问题。希望对别人有帮助。