child 在 Consumer Provider Flutter 中的用途是什么
What is the purpose of child in Consumer Provider Flutter
我有一个关于 Flutter 中的 Consumer 或 Provider 包的问题。
我不明白 Consumer
的构建器中参数 "child" 的用途
Consumer<MyModel>(builder: (context, myModel, child) {
// doing stuff using myModel variable
});
我找不到任何关于它的文档。
您可以在消费者中传递子部件。当数据更改时,您小时候传递的任何小部件都不会重建。
您可以避免使用 child 不必要地重建小部件。
子项是不需要提供程序内部数据的任何小部件,因此当数据更新时,不会重新创建它们,因为它们不需要数据,而是被传递作为对构建器的引用。
Consumer(
builder: (context, myModel, child) {
// child will refer to the MaterialButton provided as the child argument in the
// Consumer named parameter,
// doing stuff using myModel variable
}
child: MaterialButton(
child: Text("Do some action"),
onPressed: () {
// do some actions
},),);
由于 MaterialButton 不需要提供者的状态,但它在后代树中,因此无需重新渲染它,因此它会传回构建器,以节省内存并提高性能
我有一个关于 Flutter 中的 Consumer 或 Provider 包的问题。 我不明白 Consumer
的构建器中参数 "child" 的用途Consumer<MyModel>(builder: (context, myModel, child) {
// doing stuff using myModel variable
});
我找不到任何关于它的文档。
您可以在消费者中传递子部件。当数据更改时,您小时候传递的任何小部件都不会重建。
您可以避免使用 child 不必要地重建小部件。
子项是不需要提供程序内部数据的任何小部件,因此当数据更新时,不会重新创建它们,因为它们不需要数据,而是被传递作为对构建器的引用。
Consumer(
builder: (context, myModel, child) {
// child will refer to the MaterialButton provided as the child argument in the
// Consumer named parameter,
// doing stuff using myModel variable
}
child: MaterialButton(
child: Text("Do some action"),
onPressed: () {
// do some actions
},),);
由于 MaterialButton 不需要提供者的状态,但它在后代树中,因此无需重新渲染它,因此它会传回构建器,以节省内存并提高性能