#flutter
Вопрос:
Объект pageState
был реализован GlobalBaseState
, например:
class MainState implements GlobalBaseState,Cloneable<MainState> {
@override
MainState clone() {
return MainState()
..showDebug = this.showDebug;
}
@override
bool showDebug = false;
}
MainState initState(Map<String, dynamic> args) {
return MainState();
}
это и есть GlobalBaseState
определение:
abstract class GlobalBaseState{
bool get showDebug;
set showDebug(bool showDebug);
}
когда я пишу такой код, как этот:
static AbstractRoutes buildRoute() {
final AbstractRoutes routes = PageRoutes(
pages: <String, fishPage.Page<Object, dynamic>>{
'home_page': HomePage(), 'app_page': AppPage(), 'main_page': MainPage()
},
visitor: (String path, fishPage.Page<Object, dynamic> page) {
if (page.isTypeof<GlobalBaseState>()) {
page.connectExtraStore<GlobalState>(GlobalStore.store, (Object pageState, GlobalState appState) {
final GlobalBaseState p = pageState;
if(p.showDebug !=appState.showDebug){
if(pageState is Cloneable){
final Object copy = pageState.clone();
final GlobalBaseState newState = copy;
newState.showDebug = appState.showDebug;
return newState;
}
}
return pageState;
});
}
});
return routes;
}
эта строка final GlobalBaseState p = pageState;
показывает это A value of type 'Object' can't be assigned to a variable of type 'GlobalBaseState'
. почему это должно было произойти? что я должен сделать, чтобы это исправить? версия sdk является sdk: ">=2.12.0 <3.0.0"