首页 > 解决方案 > 如何将块添加到 StatelessWidget 屏幕

问题描述

我有一个这样的屏幕:

class SettingsScreen extends StatefulWidget {
   @override
   _SettingsScreenState createState() => _SettingsScreenState();
}

class _SettingsScreenState() extends State<SettingsScreen> with TickerProviderStateMixin {
    ...
    listViews.add(
        UserView(

        );
    );
}

然后我有一个bloc.

class UserBloc extends Bloc<UserEvent, UserState> {
    final UserRepo userRepo;
    UserBloc({@required this.userRepo}) : assert(userRepo != null);
}

如何设置我UserBloc来控制上面的小部件?我正在将此https://bloclibrary.dev/#/用于 bloc。

标签: flutterdartbloc

解决方案


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',
        ),
      );
    },
  )
}

推荐阅读