Flutter 如何将bloc添加到无状态窗口小部件屏幕
我有这样一个屏幕:Flutter 如何将bloc添加到无状态窗口小部件屏幕,flutter,dart,bloc,Flutter,Dart,Bloc,我有这样一个屏幕: class SettingsScreen extends StatefulWidget { @override _SettingsScreenState createState() => _SettingsScreenState(); } class _SettingsScreenState() extends State<SettingsScreen> with TickerProviderStateMixin { ... l
class SettingsScreen extends StatefulWidget {
@override
_SettingsScreenState createState() => _SettingsScreenState();
}
class _SettingsScreenState() extends State<SettingsScreen> with TickerProviderStateMixin {
...
listViews.add(
UserView(
);
);
}
如何设置我的UserBloc
来控制上面的小部件?我将此用于bloc。void main(){
runApp(App());
}
类应用程序扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回材料PP(
标题:“颤振演示”,
首页:BlocProvider(
创建:()=>UserBloc(),
子项:设置屏幕(),
),
);;
}
}
类设置屏幕扩展无状态小部件{
@凌驾
小部件构建(构建上下文){
返回脚手架(
body:BlocBuilder(
生成器:(用户,用户状态){
返回文本(
“新事件和新状态”,
),
);
},
)
}
即使我的设置屏幕不是应用程序的第一个屏幕,我也应该这样做?我有一个主屏幕。@J_Strauton我认为这会帮助你。这不会编译。它应该是
class UserBloc extends Bloc<UserEvent, UserState> {
final UserRepo userRepo;
UserBloc({@required this.userRepo}) : assert(userRepo != null);
}
void main() {
runApp(App());
}
class App extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
home: BlocProvider(
create: (_) => UserBloc(),
child: SettingsScreen(),
),
);;
}
}
class SettingsScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
body: BlocBuilder< UserBloc, UserState>(
builder: (user, userState) {
return Text(
'new event and new state',
),
);
},
)
}