AsyncSnapshot拒绝类型注释

时间:2019-02-22 13:10:34

标签: flutter rxdart

我有一个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]}');
      },
    );
  },
);

}

这是生成的VSCode错误。 VSCode Error

我做错了什么?

1 个答案:

答案 0 :(得分:0)

结果是我的bloc.topIds结果类型不是List<int>类型。

Observable<List> get topIds => _topIds.stream;

所以我只是将其更改为满足所需类型。

Observable<List<int>> get topIds => _topIds.stream;

这解决了问题。希望对别人有帮助。