У меня есть следующий код в проекте dart / flutter с BLo C
abstract class BasePage extends StatelessWidget {
Widget get body;
const BasePage({@required Key key}) : super(key: key);
Bloc create(BuildContext context) {
final dao = Provider.of<LessonsDao>(context, listen: false);
return LessonListBloc(dao)..add(LoadListEvent());
}
@override
Widget build(BuildContext context) {
final blocs = createBlocs(context);
return BlocProvider(
lazy: false,
create: (context) {
return create(context);
},
child: Material(child: body),
);
}
}
Теперь, когда я хочу изменить тип возвращаемого значения функции создания на Bloc
, виджет подписчика, то есть прослушивает LessonsListLoaded, который находится yield
в LessonListBlo c, не доставляется в body
виджет:
Bloc create(BuildContext context) {
final dao = Provider.of<LessonsDao>(context, listen: false);
return LessonListBloc(dao)..add(LoadListEvent());
}