我正在使用提供程序:^3.0.0,其中它具有 ChangeNotifierProxyProvider 参数“构建器”,我在其中提供数据。现在提供程序版本已更改,现在其更新版本是提供程序:^4.0.4,它没有“构建器”功能,现在它具有创建和更新功能。请告诉我,创建和更新背后的逻辑是什么。 我认为 crate 仅在第一次运行,而更新在第一次之后每次都运行? 我对吗!但我有一个问题,我必须将一些数据传递给参数中的下一个类。 查看我的代码
ChangeNotifierProxyProvider<Auth, Shops>(
create: (ctx)=> Shops('778b2f743f2aebd4d73d2431881a88ba54c53c01', []),
update: (ctx, auth, prevShop)=> Shops(auth.token, prevShop.items),
),
我想将 authToken 传递给 Shop 类,在更新中可以从该 auth 对象中获取此数据,但在创建中我应该做什么? 我想将商店列表作为商店类中的第二个参数传递,这将是从我的服务器获取的商店列表,但在这里因为我没有引用,所以我必须在创建中传递一个空列表。
这意味着第一次加载页面时没有商店列表,当我再次打开同一页面时,商店列表将列在屏幕上。
请帮我解决这个问题。
最佳答案
这样做
ChangeNotifierProxyProvider<Auth, Shops>(
create: (ctx) => Shops('', []),
update: (ctx, auth, prevShop) => Shops(
auth.token.toString(),
prevShop == null ? [] : prevShop.items)
),
关于flutter - ChangeNotifierProxyProvider 构建器与更新问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61120141/