嗨
我拍打时出错
它只是从提供程序中获取加载状态,我使用的所有提供程序中都有相同的错误
在空扑上调用了吸气剂“ loadingStatus”
此错误仅在控制台中出现,但应用正常运行-_-
type ParserFn = (config: Record<string, ArgumentConfiguration<any>>) => (args: string[]) => Record<string, any>;
我尝试了越来越多,但是什么也没有改变,所以蚂蚁可以告诉我错误在哪里吗?
这是提供商代码
class _DoctorInfoPageState extends State<DoctorInfoPage> {
GeneralService _generalService;
ProfileService _profileService;
@override
void initState() {
// TODO: implement initState
super.initState();
WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
_generalService = Provider.of<GeneralService>(context);
_profileService = Provider.of<ProfileService>(context);
loadingReviews();
});
}
loadingReviews() async {
_generalService.setLoadingState(true);
await _profileService.getReviews(context);
_generalService.setLoadingState(false);
}
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white,
appBar: AppBar(
elevation: 0.0,
centerTitle: true,
backgroundColor: Colors.white,
leading: IconButton(
icon:
Icon(Icons.chevron_left, size: 30, color: Const.appMainBlueColor),
onPressed: () {
print('test');
},
),
title: Text(
"Doctor Info",
style: TextStyle(
color: Const.appMainBlueColor,
fontWeight: FontWeight.w600,
fontSize: 18),
),
),
body: _generalService.loadingStatus != null &&
_generalService.loadingStatus
? Center(child: PumpHeart(size: 35.0))
: SafeArea()
);
}
}
答案 0 :(得分:2)
WidgetsBinding.instance.addPostFrameCallback
将在以后的一帧中被调用(作为下一帧的Future),因为构建它的第一个帧_generalService.loadingStatus
_generalService尚未被引用(您正在校准{{ 1}})。如果您想保留该逻辑,只需将其更改为null.loadingStatus
我不知道您的课程,但也许将_generalService?.loadingStatus != null && _generalService.loadingStatus
改成GeneralService
的{{1}}或ProxyProvider
的{{1}}更好,但这是您面临的问题之一