问题描述
我对ChangeNotifierProxyProvider
有疑问。
providers: [
ChangeNotifierProvider.value(
value: Auth(),),ChangeNotifierProxyProvider<Auth,MyProvider>(
create: (context) => MyProvider(),update: (ctx,auth,myProvider) => myProvider.update(auth)),],
如果我在课堂上叫Provider.of<MyProvider>(context,listen: false);
或context.read<MyProvider>();
,则会得到一个空对象。
在另一种情况下,如果我将ChangeNotifierProxyProvider
替换为ChangeNotifierProvider
(没有代理),则会得到我的提供程序对象。
我没有发现任何类似的问题。所以我想我很想念东西。
解决方法
语法是:
ChangeNotifierProxyProvider<Auth,MyProvider>(
create: (context) => MyProvider(),update: (ctx,auth,myProvider) {
myProvider.update(auth);
return myProvider;
}
)