【问题标题】:Provider, what's the difference between assigning it to a variable and using it directly?提供者,将其分配给变量和直接使用它有什么区别?
【发布时间】:2021-10-27 20:53:06
【问题描述】:

我有多个提取的小部件需要访问已在其父小部件中声明的提供程序。

我正在尝试使用此Provider.of<MyProvider>(context).getSomething() 直接访问提供程序,但它不起作用。但是当我将它分配给构建方法var provider = Provider.of<MyProvider>(context)之上的一个变量然后使用provider.getSomething()这样的方法时,它可以工作,这是为什么呢?

如果我将这个var provider = Provider.of<MyProvider>(context) 放在我提取的小部件的每个构建方法上会不会有问题?还是我应该将提供程序添加为构造函数,以便父小部件只为每个提取的子小部件传递提供程序?

【问题讨论】:

    标签: flutter provider flutter-provider


    【解决方案1】:

    在第一个中,您仅使用该类型声明它,因此该值将什么都没有,并且没有分配给您声明的内容,因此该对象是空的并且无法访问函数等。在第二种情况下,您将分配给该对象,以便它可以访问所有功能等等。

    不,没关系,这是一种常用的模式。

    【讨论】:

      猜你喜欢
      • 2019-02-28
      • 1970-01-01
      • 1970-01-01
      • 2011-03-20
      • 2011-01-13
      • 1970-01-01
      • 2011-09-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多