繁体   English   中英

Flutter Provider:具有多个嵌套提供程序是否会导致性能问题?

[英]Flutter Provider: Is it a performance concern to have multiple nested provider?

使用提供程序时,我想知道将子树的多个级别绑定到父值是否存在任何问题。

例如:

MainView - Provides Foo
  - SubView1 - binds to foo
   - SubView1_1 - binds to foo
     - LeafNode1 - binds to foo

这会导致多次重建或性能问题吗? 我应该手动将 SubView1 中提供的值传递到 SubView1_1 和 LeafNode1 吗?

嵌套消费者和嵌套提供者都没有问题

它实际上可能更优化,因为它只允许重建树的子集

使用它不应该有任何性能问题,而且,如果我们只想在屏幕上更改某些特定小部件,我们应该使用消费者。 在编码实践方面,这是我能说的最好的方法。

 return Container(
    // ...
    child: Consumer<PersonModel>(
      builder: (context, person, child) {
        return Text('Name: ${person.name}');
      },
    ),
  );

像上面的例子一样,我们只需要更新 Single Text Widget 的值,所以在那里添加消费者而不是其他小部件也可以访问的提供者。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM