AsyncSnapshot отклоняет аннотацию типа - PullRequest
0 голосов
/ 22 февраля 2019

У меня есть StreamBuilder, который получает данные из моего блочного компонента.

Однако он продолжает отклонять мою аннотацию типа AsyncSnapshot<List<int>> snapshot и принимает динамический только как тип 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 голосов
/ 02 мая 2019

Оказывается, мой bloc.topIds тип результата не был типа List<int>.

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

Так что я просто изменил его, чтобы выполнить требуемый тип.

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

И это решило проблему.Надеюсь, это поможет кому-то еще.

...