Flutter "ChangeNotifierProxyProvider have an error. error: "The named parameter 'builder' isn't defined. "
Flutter "ChangeNotifierProxyProvider have an error. error: "The named parameter 'builder' isn't defined. "
main.dart 文件 ChangeNotifierProxyProvider 存在未定义生成器方法的问题。
ChangeNotifierProxyProvider<Auth, Orders>(
builder: (ctx, auth, previousOrders) => Orders(
auth.token,
auth.userId,
previousOrders == null ? [] : previousOrders.orders,
),
),
他们没有像 ChangeNotifierProxyProvider 中的 builder 那样的论点,这就是你得到那个错误的原因。
在 ChangeNotifierProxyProvider 中,您必须提供创建、更新和子项。
在这里,在 create 中你可以创建你的对象,在 update 中你可以指定何时更改提供者的值,当通知程序依赖于其他模型时。
ChangeNotifierProxyProvider<MyModel, MyChangeNotifier>(
create: (_) => MyChangeNotifier(),
update: (_, myModel, myNotifier) => myNotifier
..update(myModel),
child: ...
);
ChangeNotifierProvider 支持构建器参数,但从 v3.x.0 迁移到 v4.0.0+ 一些参数已更改且构建器是其中之一。
而不是 initialBuilder 应该替换为 create.
"proxy" 提供商 的构建者应替换为 更新
经典提供程序的构建器应替换为创建。
ChangeNotifierProxyProvider<Auth, Products>(
create: (_) => Products('', '', []),
update: (_, auth, prevProducts) {
return Products(
auth.token,
auth.userId,
prevProducts == null ? [] : prevProducts.items,
);
},
),
与 provider: ^5.0.0
这也应该按预期工作
ChangeNotifierProxyProvider<Auth, Products>(
create: (ctx) {
return Products();
},
update: (ctx, auth, prev) {
return Products()
..setAuthToken(auth.token ?? '')
..setItems(prev?.items ?? []);
},
),
main.dart 文件 ChangeNotifierProxyProvider 存在未定义生成器方法的问题。
ChangeNotifierProxyProvider<Auth, Orders>(
builder: (ctx, auth, previousOrders) => Orders(
auth.token,
auth.userId,
previousOrders == null ? [] : previousOrders.orders,
),
),
他们没有像 ChangeNotifierProxyProvider 中的 builder 那样的论点,这就是你得到那个错误的原因。
在 ChangeNotifierProxyProvider 中,您必须提供创建、更新和子项。
在这里,在 create 中你可以创建你的对象,在 update 中你可以指定何时更改提供者的值,当通知程序依赖于其他模型时。
ChangeNotifierProxyProvider<MyModel, MyChangeNotifier>(
create: (_) => MyChangeNotifier(),
update: (_, myModel, myNotifier) => myNotifier
..update(myModel),
child: ...
);
ChangeNotifierProvider 支持构建器参数,但从 v3.x.0 迁移到 v4.0.0+ 一些参数已更改且构建器是其中之一。
而不是 initialBuilder 应该替换为 create.
"proxy" 提供商 的构建者应替换为 更新
经典提供程序的构建器应替换为创建。
ChangeNotifierProxyProvider<Auth, Products>(
create: (_) => Products('', '', []),
update: (_, auth, prevProducts) {
return Products(
auth.token,
auth.userId,
prevProducts == null ? [] : prevProducts.items,
);
},
),
与 provider: ^5.0.0
这也应该按预期工作
ChangeNotifierProxyProvider<Auth, Products>(
create: (ctx) {
return Products();
},
update: (ctx, auth, prev) {
return Products()
..setAuthToken(auth.token ?? '')
..setItems(prev?.items ?? []);
},
),