Flutter:难以理解的飞镖(){}

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

我是Dart的新手,并且很难理解Dart代码的“快捷方式”。其中之一是“(...){...}”。您能否看一下所附的屏幕截图,并帮助我了解蓝色和红色矩形中的“(..)”是什么?谢谢!

     child: Switch(
        value: isSwitched,
        onChanged: (value) {
          setState(() {
            isSwitched = value;
            print(isSwitched);
          });
        },
        activeTrackColor: Colors.lightGreenAccent,
        activeColor: Colors.green,
      ),

flutter
1个回答
0
投票

这些功能称为匿名功能。

onChange函数将一个函数作为参数。并使用已经具有的参数运行该函数。

void fn(value) {
  // setState code
}
// which you can use as
onChanged: fn,

但是声明仅在那个地方使用的新功能可能既累又效率低下。这就是为什么匿名函数有用的原因。因此,您可以使用匿名函数编写先前的代码,如下所示:

onChanged: () { // the same as function fn but with no name or declaration
  // setState code
}

setState功能也是如此。但是它需要一个不带参数的函数。

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