儿童在消费者提供者Flutter中的用途是什么

问题描述 投票:0回答:1

我对Flutter中的Provider包的Consumer有疑问。我不了解“消费者”构建器中参数“子级”的目的

Consumer<MyModel>(builder: (context, myModel, child) {
// doing stuff using myModel variable
});

我找不到有关它的任何文档。

flutter provider
1个回答
0
投票

您可以在消费者中传递子小部件。当数据更改时,您小时候传递的小部件将不会重建。

您可以避免使用子级来不必要地重建小部件。


0
投票

子是需要提供者内部数据的任何小部件,因此,在更新数据时,由于不需要数据而不会重新创建它们,而是将它们作为对构建器的引用传递给您


    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主体需要提供者的状态,但是它在后代树中,因此无需重新渲染它,因此它将被传递回生成器,以节省内存并提高性能]]

© www.soinside.com 2019 - 2024. All rights reserved.