[英]How to keep the state of my bottomNavigationBar Cubit BLoc Flutter?
我遇到的問題是,當我啟動應用程序時,我的 map 以一種方式出現,然后在從底部導航欄選項卡傳遞時,當我返回時它會完全重繪。
我認為這是塊和 state map 的問題。
我需要知道解決方案是什么,這樣它就不會被重繪,也就是說,如果我將 map 留在 position 中並進入選項卡,當我回來時,它看起來我離開它的地方。
我的 map 集團:
class MapaBloc extends Bloc<MapaEvent, MapaState> {
MapaBloc() : super(new MapaState());
GoogleMapController _mapController;
void initMapa(GoogleMapController controller) {
{
this._mapController = controller;
this._mapController.setMapStyle(jsonEncode(testMapTheme));
add(OnMapaListo());
}
}
void moverCamara(LatLng destino) {
final cameraUpdate = CameraUpdate.newLatLng(destino);
this._mapController?.animateCamera(cameraUpdate);
}
@override
Stream<MapaState> mapEventToState(MapaEvent event) async* {
if (event is OnMapaListo) {
yield state.copyWith(mapaListo: true);
}
}
}
我的 map 事件:
@immutable
abstract class MapaEvent {}
class OnMapaListo extends MapaEvent {}
我的 map state
@immutable
class MapaState {
final bool mapaListo;
MapaState({this.mapaListo = false});
MapaState copyWith({bool mapaListo}) =>
MapaState(mapaListo: mapaListo ?? this.mapaListo);
}
除非有其他東西觸發了您未顯示的頁面上的重建,否則應該像將您在主頁上使用的AutomaticKeepAliveClientMixin
添加到所有其他屏幕一樣簡單。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.