将提供者作为参数传递给小部件是最佳实践吗?

fre*_*ril 1 provider flutter flutter-provider

将提供者作为参数传递给小部件是最佳实践吗?

我知道我们可以从小部件内直接访问提供程序。但看到几个代码片段将提供程序作为参数传递给子小部件。它优化了代码吗?或者有什么可能的泄漏?

Rom*_*uez 5

最好从需要它的小部件中访问提供程序,因为提供程序使用 BuildContext Provider.of(context)中)根据小部件在小部件树遍历上面的层次结构来找到它。为了方便起见,您可以这样做,但是小部件应该足够封装和足够解耦,以便不依赖于更高层的小部件来获取数据,从而使它们自给自足和独立。我的两分钱。