【发布时间】:2021-08-28 01:27:38
【问题描述】:
我是 Flutter 中 Bloc 模式的新手,我想在这里理解这段代码,我有一个小部件:
Widget forumList() {
return BlocProvider<ForumBloc>(
create: (context) => ForumBloc(ForumService())..add(GetAllForumPosts()),
child: BlocBuilder<ForumBloc, ForumState>(
builder: (context, state) {
if (state is ForumLoading) {
return Text('Loading');
}
if (state is ForumLoaded) {
var posts = state.forumPosts;
return ListView.separated(
shrinkWrap: true,
physics: NeverScrollableScrollPhysics(),
padding: const EdgeInsets.symmetric(vertical: 8),
itemCount: posts.length,
itemBuilder: (context, index) {
var post = posts[index];
return ForumPostCard(
forumModel: post,
onPressed: () {
Navigator.pushNamed(context, Routes.forumDetails,
arguments: {'post': post});
},
);
},
separatorBuilder: (context, index) => SizedBox(height: 5),
);
}
return SizedBox();
},
),
);
}
现在如何在单击按钮后重建此小部件?
【问题讨论】:
标签: flutter dart bloc flutter-bloc