Flutter“ ChangeNotifierProxyProvider出现错误。错误:”未定义命名参数'builder'。 ”

时间:2020-04-25 04:59:42

标签: flutter builder

具有问题生成器方法的main.dart文件ChangeNotifierProxyProvider未定义。

 ChangeNotifierProxyProvider<Auth, Orders>(
      builder: (ctx, auth, previousOrders) => Orders(
        auth.token,
        auth.userId,
        previousOrders == null ? [] : previousOrders.orders,
      ),
    ),

3 个答案:

答案 0 :(得分:0)

他们没有像 ChangeNotifierProxyProvider 中的 builder 这样的参数,这就是为什么您会收到该错误。

在ChangeNotifierProxyProvider中,您必须提供创建,更新和子项。

在这里,可以在创建时创建对象,而在更新时可以指定何时更改提供者的值,何时通知者取决于其他模型。

ChangeNotifierProxyProvider<MyModel, MyChangeNotifier>(
   create: (_) => MyChangeNotifier(),
   update: (_, myModel, myNotifier) => myNotifier
       ..update(myModel),
    child: ...
);

答案 1 :(得分:0)

ChangeNotifierProvider 支持构建器参数,但从 v3.x.0迁移到v4.0.0 + 的某些参数已更改,构建器就是其中之一。

应该将 initialBuilder 替换为 create

“代理”提供商的构建器 应替换为更新

经典提供程序

构建器应替换为创建

答案 2 :(得分:0)

ChangeNotifierProxyProvider<Auth, Products>(
      create: (_) => Products('', '', []),
      update: (_, auth, prevProducts) {
        return Products(
          auth.token,
          auth.userId,
          prevProducts == null ? [] : prevProducts.items,
        );
      },
    ),