我对Flutter中的Provider包的Consumer有疑问。我不了解“消费者”构建器中参数“子级”的目的
Consumer<MyModel>(builder: (context, myModel, child) {
// doing stuff using myModel variable
});
我找不到有关它的任何文档。
您可以在消费者中传递子小部件。当数据更改时,您小时候传递的小部件将不会重建。
您可以避免使用子级来不必要地重建小部件。
子是需要提供者内部数据的任何小部件,因此,在更新数据时,由于不需要数据而不会重新创建它们,而是将它们作为对构建器的引用传递给您
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 },),);
由于MaterilButton主体需要提供者的状态,但是它在后代树中,因此无需重新渲染它,因此它将被传递回生成器,以节省内存并提高性能]]