首页 > 解决方案 > ChangeNotifierProxyProvider 创建的颤振问题

问题描述

由于不推荐使用 Flutter 中 ChangeNotifierProxyProvider 的构建器方法,因此我正在尝试实现提供程序 4 的创建和更新新方法。

我需要在创建时在另一个 Provider(ContoProvider) 中调用名为 User Provider 的主要 Auth Provider,但我有运行时错误,找不到 Provider。所有这些提供程序都在 main.dart 文件中的 Multiprovider 中,因此位于小部件链的顶部。

可能这不是传递提供程序的正确方法,但我需要在创建中,因为我立即使用它

return MultiProvider(
  providers: [
    ChangeNotifierProvider<UserProvider>(
      create: (_) => UserProvider.init(),

    ),
    ChangeNotifierProxyProvider<UserProvider, ContoProvider>(
      create: (_) => ContoProvider.init(
        Provider.of<UserProvider>(context, listen: false),
      ),
      update: (_,  userProvider,  contoProvider) =>
          contoProvider..update(userProvider),
    ),
  ],child:..

标签: flutterflutter-provider

解决方案


好吧,愚蠢的错误,我指的是 Provider.of 的错误上下文

我将问题留在这里以实现创建和更新,因为周围没有很多示例


推荐阅读