【问题标题】:Flutter Provider.of<MyProvider>(...) returns nullFlutter Provider.of<MyProvider>(...) 返回 null
【发布时间】:2020-12-10 19:51:58
【问题描述】:

ChangeNotifierProxyProvider 有问题。

我有一个供应商列表,例如

 providers: [
        ChangeNotifierProvider.value(
          value: Auth(),
        ),
        ChangeNotifierProxyProvider<Auth, MyProvider>(
            create: (context) => MyProvider(),
            update: (ctx, auth, myProvider) => myProvider.update(auth)),
      ],

如果我在我的课程中调用Provider.of&lt;MyProvider&gt;(context, listen: false);context.read&lt;MyProvider&gt;();,我会得到一个空对象。

在另一种情况下,如果我将ChangeNotifierProxyProvider 替换为ChangeNotifierProvider(没有代理),我得到了我的提供者对象。

我没有找到任何类似的问题。所以我想我错过了什么。

【问题讨论】:

    标签: flutter dart flutter-provider


    【解决方案1】:

    语法是:

    ChangeNotifierProxyProvider<Auth, MyProvider>(
       create: (context) => MyProvider(),
      update: (ctx, auth, myProvider) {
        myProvider.update(auth);
        return myProvider;
      }
    ) 
    

    【讨论】:

    • 谢谢。现在它正在工作。 pub.dev上的那篇文章不是很清楚...找不到需要在update方法中返回provider。
    猜你喜欢
    • 2021-02-21
    • 2020-11-03
    • 2020-08-23
    • 2021-09-28
    • 2020-11-10
    • 2020-07-12
    • 2021-06-14
    • 2020-11-17
    • 2021-04-19
    相关资源
    最近更新 更多