【问题标题】:Making an Auth provider in Flutter在 Flutter 中创建 Auth 提供者
【发布时间】:2021-11-05 01:24:24
【问题描述】:

我正在制作一个颤振应用程序,我需要一个身份验证提供程序来处理诸如保存用户数据、刷新令牌等功能等身份验证事务。

我希望在我的其他提供程序中使用此提供程序来检查用户是否在尝试进行 api 调用之前登录,我偶然发现了 ProxyProvider 和 ChangeNotifierProxyProvider,但我不断收到此错误“错误:找不到此 _InheritedProviderScope 小部件上方的正确 Provider”。

这是我的 main.dart 的一部分:

MultiProvider(
      providers: [
        ChangeNotifierProvider(
          create: (ctx) {
            AuthProvider auth = AuthProvider();
            auth.init();
          },
          lazy: false,
        ),
        ChangeNotifierProxyProvider<AuthProvider, BookingProvider>(
          create: (ctx) => BookingProvider(),
          update: (ctx, authProvider, bookingProvider) => bookingProvider!..updateAuth(authProvider),
        ),
      ],
      child: MaterialApp(...

在这里我得到了那个错误:

Widget build(BuildContext context) {
    BookingProvider bookingProvider = Provider.of<BookingProvider>(context);
    
    return Container();
    }

此屏幕位于 main.dart 中的 MultiProvider 小部件下,在使用 ChangeNotifierProxyProvider 之前,我对此提供程序没有任何问题。

也许这不是最好的解决方案,因为我还是新手,所以如果有更好的方法,请告诉我。

【问题讨论】:

    标签: flutter flutter-provider


    【解决方案1】:

    ChangeNotifierProvider(
              create: (ctx) {
                AuthProvider auth = AuthProvider();
                auth.init();
    
                return auth;
              },
              lazy: false,
            ),

    解决了,缺少return auth;在创建函数中。

    【讨论】:

      猜你喜欢
      • 2018-09-15
      • 1970-01-01
      • 2021-07-30
      • 2020-11-18
      • 2017-01-08
      • 1970-01-01
      • 2022-01-12
      • 2021-09-23
      • 2020-03-22
      相关资源
      最近更新 更多