@ RémiRousselet был на месте!Я держал состояние за пределами виджета с состоянием!Просто для ясности, вот код до и после.(Домой MaterialApp: параметр, а _MyHomePageState.build - это место, где происходят реальные изменения)
Неверный код:
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
home: BlocProvider<PandemicBloc>(
bloc: PandemicBloc(), child: MyHomePage(title: 'Pandemic Tracker')),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
final PandemicBloc pandemicBloc = BlocProvider.of<PandemicBloc>(context);
int _currentTab = 0;
Widget build(BuildContext context) {
return DefaultTabController(...
Хороший код:
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
home: MyHomePage(title: 'Pandemic Tracker'),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
int _currentTab = 0;
final _pandemicBloc = PandemicBloc();
Widget build(BuildContext context) {
return BlocProvider<PandemicBloc>(
bloc: _pandemicBloc,
child: DefaultTabController(...