Flutter 在Mobx.dart存储中发生更改后,不会重新生成小部件

Flutter 在Mobx.dart存储中发生更改后,不会重新生成小部件,flutter,dart,mobx,flutter-provider,Flutter,Dart,Mobx,Flutter Provider,我想得到一些帮助。 我不明白为什么有些东西不能正常重建。 我有一个app.dart,它提供所有的商店,Scafold的主体是一个主页 类主页扩展了无状态小部件{ const主页({Key}):超级(Key:Key); @凌驾 小部件构建(构建上下文){ 退货消费者( 生成器:(\uuuuu,AuthStore AuthStore,\uuuu){ debugPrint('--$authStore'); 返回安全区( 子项:authStore.authenticated ?const Authent

我想得到一些帮助。 我不明白为什么有些东西不能正常重建。 我有一个app.dart,它提供所有的商店,Scafold的主体是一个主页

类主页扩展了无状态小部件{
const主页({Key}):超级(Key:Key);
@凌驾
小部件构建(构建上下文){
退货消费者(
生成器:(\uuuuu,AuthStore AuthStore,\uuuu){
debugPrint('--$authStore');
返回安全区(
子项:authStore.authenticated
?const AuthenticatedScreen()
:const LoginScreen(),
);
},
);
}
}
登录屏幕完成了它的工作,并且正确地更新了商店,我不明白为什么当认证更改为true时主屏幕没有更新 我尝试添加具有相同结果的观察者,例如,没有重建

类HomePageStateless扩展了无状态小部件{
const HomePageStateless({Key}):super(Key:Key);
@凌驾
小部件构建(构建上下文){
返回使用者(生成器:(\uuuuu,AuthStore,AuthStore){
debugPrint('--$authStore');
返回观察员(
建筑商:()=>安全区(
子项:authStore.authenticated
?const AuthenticatedScreen()
:const LoginScreen(),
),
);
});
}
}
我错过了什么 而这个小部件工作正常

类主页扩展StatefulWidget{
康斯特网页({
关键点,
}):super(key:key);
@凌驾
_HomePageState createState()=>\u HomePageState();
}
类_HomePageState扩展状态{
AuthStore\u AuthStore;
最终清单_处置者=[];
bool _authenticated=false;
@凌驾
void didChangeDependencies(){
super.didChangeDependencies();
用于(反应处理器中的处理器){
处理器();
}
_清除器;
_authStore???=提供者(上下文);
_处置者。添加(
自动运行(
(_) {
打印('home store$\u authStore');
如果(_authenticated!=_authStore.authenticated){
设置状态(){
_authenticated=\u authStore.authenticated;
});
}
},
),
);
}
@凌驾
无效处置(){
用于(反应处理器中的处理器){
处理器();
}
super.dispose();
}
@凌驾
小部件构建(构建上下文){
返回安全区(
子项:_authenticated?const AuthenticatedScreen():const LoginScreen(),
);
}
}

我知道这不应该是正确的方式,但是,当存储发生更改时,自动运行会持续触发。

在状态和状态完整小部件下方的void方法中使用您想要重建的内容,而不是无状态小部件。

提示:您在“不工作”场景中使用无状态小部件,在
工作
场景中使用
状态小部件。这没有帮助。I我不懂这个短语。您想要演示代码吗?