一尘不染

Dart中onPressed属性后的空括号是什么意思?

flutter

我知道在小部件之后onPressed和之后调用函数的语法onTap。有两个选项,我们可以使用() => function()() { function(); }语法。空括号是什么意思?


阅读 608

收藏
2020-08-13

共1个答案

一尘不染

() => expression() { statements }创建一个闭包或内联函数。

这样,您可以内联创建一个函数,该函数作为传递给参数onPressed的小部件在事件发生时作为参数传递。

expressionstatements有在其中创建它们可用,并且可以访问和使用所有可用的成员和标识符在这方面的背景(变量,方法,功能,类型定义,…)。

如果您使用

  • onPressed: myFunction传递对现有函数的引用。
    仅当onPressed和预期的回调参数myFunction兼容时,此方法才有效。

  • onPressed: myFunction() myFunction()执行,并将返回的结果传递给onPressed。这是一个普遍的错误,当无意间实际上是要传递引用myFunction而不是调用它时,就会犯错。

2020-08-13