Ham*_*med 7 flutter flutter-bloc
我有一个听另一个集团的集团。将flutter_bloc包更新为 后version 6.0.2,侦听器在初始状态下将不再调用。
class BlocA extends Bloc {
final BlocB blocB = ...;
...
blocA.blocB.listen((state) {
DO SOMTTHING...
});
...
}
Run Code Online (Sandbox Code Playgroud)
我找到了这个解决方案:
class BlocB extends Bloc<..., ...> with BehaviorSubjectBloc {
...
}
mixin BehaviorSubjectBloc<TEvent, TState> on Bloc<TEvent, TState> {
@override
StreamSubscription<TState> listen(
void Function(TState state) onData, {
Function onError,
void Function() onDone,
bool cancelOnError,
}) {
onData(this.state);
return super.listen(
onData,
onError: onError,
onDone: onDone,
cancelOnError: cancelOnError,
);
}
}
Run Code Online (Sandbox Code Playgroud)
我想知道有没有更好的解决方案?
flutter_bloc 存储库中有一个关于它的问题:
https ://github.com/felangel/bloc/issues/1641
该问题已在待办事项列表中。
您可以修复您的 yaml 以强制使用以前的版本,使用单引号并删除“^”或任何其他符号。删除您的~/.pub-cache/...文件夹和pubspec.lock文件,flutter packages get再次运行并快乐。
请注意,pub-cache 文件夹在您的所有项目之间共享,因此您可以尝试仅删除其中的特定包。
您可以使用查看依赖项flutter packages pub deps来调查传递flutter_bloc依赖项并删除它们。
| 归档时间: |
|
| 查看次数: |
502 次 |
| 最近记录: |