微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在特定视图/屏幕中使用 Provider

如何解决如何在特定视图/屏幕中使用 Provider

我使用 Flutter 提供程序包来管理所有状态并将业务逻辑与 UI 部分分开,并将所有 API 调用存在于提供程序类中,每次用户移动到该页面时我都需要调用这些 API。

但问题是,即使用户移动到另一个屏幕,我也不想保留数据,就像我在 main.dart 中声明提供程序一样。

 class _HomeScreenAppState extends State<HomeScreenApp> {
    bool _isLoading;
    int counter = 0;
    String seller,user;

    @override
    void initState() {
     _isLoading = true;
     super.initState();
      }

    @override
    void didChangeDependencies() {
      super.didChangeDependencies();

     _fetchHomedetails();
    }

   Future<void> _fetchHomedetails() async {

     await Provider.of<HomeDetailProvider>(context,listen: false)
    .getEarnignStatus(context);}
  }
 

我使用了 ChangeNotifierProvider(create:(context) =>HomeProvider(),builder:(上下文) => HomeScreen() 但是,如果有任何使用 HomeProvider 的对话框(底部表、警报对话框),则该对话框无法访问其父小部件上的 HomeProvider 数据。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。