gpt4 book ai didi

flutter - 如何为Bloc提供范围参数?参数化的团体或带有参数的事件?

转载 作者:行者123 更新时间:2023-12-03 05:00:01 25 4
gpt4 key购买 nike

想象一个数据库,其中每个表都有一个对应的FLOC。

情况:我的BLOC取决于某些参数XXX。类似于查询SELECT ... FROM ... WHERE id_category = XXX
我可以像这样用参数XXX构造我的BLOC。

BlocProvider<PupilBloc>(
create: (BuildContext context) =>
PupilBloc(XXX)..add(LoadPupil()))

在我的代码中,不同的 PupilBloc实例取决于导航(在上一页中选择XXX类别)。因此,我认为不同的 PupilBloc之间没有重叠。

我也可以将参数放入事件中。
BlocProvider<PupilBloc>(
create: (BuildContext context) =>
PupilBloc()..add(LoadPupil(XXX)))

此事件只会加载具有匹配XXX的值。下次使用不同的参数发出 LoadPupil()事件时-它将重用相同的 PupilBloc,但将获取与该参数对应的新数据。

这两种方法对我来说似乎是等效的。
1.多个不同的参数化BLOC。
2.单个BLOC根据事件参数获取不同的数据。

哪种方法更好?

最佳答案

如果您的Bloc依赖于任何相同的实例(例如存储库或类对象),那么方法A是可行的方法,但是如果您的Bloc不具有这样的依赖关系,并且仅需要不同的值来获取不同的数据,那么您可以采用方法B.我不确定您对案件的解释,但我认为方法B更好。

关于flutter - 如何为Bloc提供范围参数?参数化的团体或带有参数的事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59700331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com