在空扑上调用了吸气剂“ loadingStatus”

时间:2020-07-09 14:51:40

标签: flutter dart dart-pub flutter-test

我拍打时出错

它只是从提供程序中获取加载状态,我使用的所有提供程序中都有相同的错误

在空扑上调用了吸气剂“ 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()
);
  }
}

1 个答案:

答案 0 :(得分:2)

WidgetsBinding.instance.addPostFrameCallback将在以后的一帧中被调用(作为下一帧的Future),因为构建它的第一个帧_generalService.loadingStatus _generalService尚未被引用(您正在校准{{ 1}})。如果您想保留该逻辑,只需将其更改为null.loadingStatus

我不知道您的课程,但也许将_generalService?.loadingStatus != null && _generalService.loadingStatus改成GeneralService的{​​{1}}或ProxyProvider的{​​{1}}更好,但这是您面临的问题之一