在使用provider时,我想知道是否存在将子树的多个级别绑定到父值的问题。
例如:
MainView - Provides Foo
- SubView1 - binds to foo
- SubView1_1 - binds to foo
- LeafNode1 - binds to foo这是否会导致多个重建或性能问题?我是否应该手动将提供的值从SubView1传递到SubView1_1和LeafNode1?
发布于 2020-03-28 03:19:35
嵌套消费者和嵌套提供者都没有问题。
它实际上可能更优化,因为它只允许重新构建树的子集
发布于 2020-05-15 19:43:06
使用它不应该有任何性能问题,而且,如果我们只想在屏幕上更改某些特定的小部件,我们应该使用消费者。就编码实践而言,这是我能说的最好的方法。
return Container(
// ...
child: Consumer<PersonModel>(
builder: (context, person, child) {
return Text('Name: ${person.name}');
},
),
);像上面的例子一样,我们只需要更新单个文本小部件的值,所以在那里添加消费者,而不是其他小部件也可以访问的提供者。
https://stackoverflow.com/questions/60892734
复制相似问题