Flutter 这个颤振构造函数调用是如何工作的?

Flutter 这个颤振构造函数调用是如何工作的?,flutter,syntax,Flutter,Syntax,我对颤振还不熟悉,在阅读教程时,我看到了以下代码片段: // Within the `FirstRoute` widget onPressed: () { Navigator.push( context, MaterialPageRoute(builder: (context) => SecondRoute()), ); } 为什么电话在工作?我看到它请求一个类型为的对象,但我们传递的是一个。context周围的括号是否表示调用了WidgetBuilder的构造函

我对颤振还不熟悉,在阅读教程时,我看到了以下代码片段:

// Within the `FirstRoute` widget
onPressed: () {
  Navigator.push(
    context,
    MaterialPageRoute(builder: (context) => SecondRoute()),
  );
}

为什么电话在工作?我看到它请求一个类型为的对象,但我们传递的是一个。
context
周围的括号是否表示调用了
WidgetBuilder
的构造函数?

正如您所说,builder参数接受WidgetBuilder类型的对象。“隐藏”是指它是typedef:

typedef WidgetBuilder = Widget Function(BuildContext context);

因此,您传递的实际上是一个与之匹配的匿名函数。

builder参数接受您所说的WidgetBuilder类型的对象。“隐藏”是指它是typedef:

typedef WidgetBuilder = Widget Function(BuildContext context);

因此,您传递的实际上是一个与之匹配的匿名函数。

它被称为箭头函数。实际上这段代码

(context) => SecondRoute()
可以重写如下:

MaterialPageRoute(builder: (context)  {
 return SecondRoute();
})

而widget builder是一个函数,MaterialPageRoute需要它作为参数。

它被称为箭头函数。实际上这段代码

(context) => SecondRoute()
可以重写如下:

MaterialPageRoute(builder: (context)  {
 return SecondRoute();
})

widget builder是一个函数,MaterialPageRoute需要它作为参数。

您想在创建对象时立即调用参数吗?
WidgetBuilder
是一个函数,它接受一个
BuildContext
类型的参数并返回一个
widget
。builder是一个返回widget的回调函数,当您传递SecondRoute时,它是一个包含构建函数的类,该函数以上下文为参数,顺便说一句,它将返回widget,因此它将返回带有widget的新页面创建对象时是否要立即调用参数?
WidgetBuilder
是一个采用一个类型参数的函数
BuildContext
并返回一个
Widget
。builder是一个返回Widget的回调函数,当您传递SecondRoute时,它是一个包含构建函数的类,该函数以上下文为参数,顺便说一句,返回Widget,因此它将返回带有Widget的新页面