我是Dart的新手,并且很难理解Dart代码的“快捷方式”。其中之一是“(...){...}”。您能否看一下所附的屏幕截图,并帮助我了解蓝色和红色矩形中的“(..)”是什么?谢谢!
child: Switch(
value: isSwitched,
onChanged: (value) {
setState(() {
isSwitched = value;
print(isSwitched);
});
},
activeTrackColor: Colors.lightGreenAccent,
activeColor: Colors.green,
),
这些功能称为匿名功能。
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
功能也是如此。但是它需要一个不带参数的函数。