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

最佳答案

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

这样,您可以内联创建一个函数,该函数作为传递给其的小部件在发生onPressed事件时作为参数被传递。
expressionstatements具有创建它们时可用的上下文,并且可以访问和使用该上下文中可用的所有成员和标识符(变量,方法,函数,typedef,...)。

如果您使用

  • onPressed: myFunction传递对现有函数的引用。
    仅当onPressedmyFunction期望的回调参数兼容时,此方法才有效。
  • onPressed: myFunction()执行myFunction()并将返回的结果传递给onPressed。这是一个普遍的错误,当无意间进行时实际上是要传递对myFunction的引用而不是对其进行调用。
  • 关于dart - Dart中onPressed属性后的空括号是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52404206/

    10-09 04:22