我正在尝试在有状态小部件中包含一个blocprovider CounterCubit。这是正确的方法吗?我已经创建了一个StatelessWidget Uno,其中一个blocprovider将有状态小部件UnoMain作为子级。
class Uno extends StatelessWidget {
const Uno({super.key});
@override
Widget build(BuildContext context) {
return BlocProvider(
create: (_) => CounterCubit(),
child: UnoMain(),
);
}
}
class UnoMain extends StatefulWidget {
const UnoMain({ super.key });
@override
State<UnoMain> createState() => _UnoMainState();
}
class _UnoMainState extends State<UnoMain> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Material App Bar'),
),
body: BlocBuilder<CounterCubit, int>(
builder: (context, count) => Center(
child: Column(
children: [
...
],
)),
),
floatingActionButton: Column(
...
),
);
}
}
字符串
1条答案
按热度按时间tcbh2hod1#
是的。还有一种方法可以在
MultiBlocProvider
中提供它,也可以在小部件树的某个位置提供它。UnoMain
也可以是StatelessWidget
,如果不需要维护其中的某些状态。