【发布时间】:2020-02-01 10:36:51
【问题描述】:
我正在尝试使用 bloc 模式创建一个包含 API 数据的列表视图,错误如下:
'package:flutter/src/widgets/framework.dart':断言失败:第 5120 行 pos 12:'child == _child':不正确。
我的列表文件:
import 'package:Instant_Feedback/Dashboard/PeopleList/bloc/bloc.dart';
import 'package:Instant_Feedback/People/strongConnection_model.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
class PeopleListing extends StatefulWidget {
@override
State<StatefulWidget> createState() => _PeopleListingState();
}
class _PeopleListingState extends State<PeopleListing> {
PeopleListBloc peopleBloc;
@override
void initState() {
super.initState();
peopleBloc = BlocProvider.of<PeopleListBloc>(context);
peopleBloc.dispatch(DisplayPeopleList());
}
@override
Widget build(BuildContext context) {
return BlocBuilder(
bloc: peopleBloc,
builder: (context, state){
if (state is PeopleUninitializedState) {
print("PeopleUninitializedState");
} else if (state is PeopleFetchingState) {
print("PeopleFetchingState");
} else if (state is PeopleFetchingState) {
print("PeopleFetchingState");
} else {
final stateAsPeopleFetchedState = state as PeopleFetchedState;
final players = stateAsPeopleFetchedState.people;
return buildPeopleList(players);
}
},
);
}
Widget buildPeopleList(List<StrongConnection_model> people) {
print(people.length);
return Container(
child: Text('sdf sdkfh kdj'),
);
}
}
【问题讨论】:
-
你能尝试对人们做空检查吗?
-
除了
else情况外,您不会返回任何小部件。您必须在builder中不断返回一个小部件。否则你会得到这个错误。只需在 if 条件循环之外返回SizedBox。