Flutter Provider.of <MyProvider>...返回null

问题描述

我对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;
  }
)