Flutter ProxyProvider构建器函数中的第三个输入参数是什么

时间:2019-10-26 07:22:32

标签: flutter flutter-provider

给出如下所示的ProxyProvider,

MultiProvider(
  providers: [
    ChangeNotifierProvider<MyModel>(
      builder: (context) => MyModel(),
    ),
    ProxyProvider<MyModel, AnotherModel>(
      builder: (context, myModel, anotherModel) => AnotherModel(myModel),
    ),
  ],

构建器函数中的第三个输入参数(anotherModel)是什么? documentation没有解释。如果它与返回的函数类型相同,为什么它是输入参数?

1 个答案:

答案 0 :(得分:0)

如果您有这样的ProxyProvider:

ProxyProvider<MyModel, AnotherModel>(
  builder: (context, myModel, anotherModel) => AnotherModel(myModel),
)

如注释和docs中所述,这些是参数值:

  1. context:这是BuildContext
  2. myModel:这是您传递给ProxiProvider的值,用作构建器返回的值的输入。
  3. anotherModel:这是构建器的最后一个构建值。除非指定了null,否则第一次是initialBuilder