【问题标题】:Why can't I use a function I pass down for onTap in a child widget?为什么我不能在子小部件中使用我为 onTap 传递的函数?
【发布时间】:2019-10-18 16:52:35
【问题描述】:

我刚刚开始尝试学习 Flutter,但在使用父小部件中的函数时遇到了问题。

这是我要使用该功能的文件: https://github.com/sketchbuch/flutter-naughts-and-crosses/blob/master/lib/widgets/game/board.dart

这就是它的定义: https://github.com/sketchbuch/flutter-naughts-and-crosses/blob/master/lib/screens/game.dart

该函数在父小部件中设置状态,需要将索引号作为参数,但颤振不会让我这样使用它。

VSC 显示错误:“此处的表达式的类型为 'void',因此无法使用。”但我不确定如何解决这个问题。

感谢任何提示...我知道这个应用程序可能有很多问题,但这是我第一次尝试使用颤振

【问题讨论】:

    标签: flutter


    【解决方案1】:

    首先,请在以后正确格式化您的问题,使用相关的代码 sn-ps 而不是链接文件,更多信息:https://stackoverflow.com/help/how-to-ask

    现在你的问题是因为 => 运算符的使用不正确

      onTap: () => {setSquare(1)}
    

    您在这里所做的是返回一个包含该函数的对象。使用正确的飞镖语法,你可以写成:

      onTap: () {setSquare(1);}
    

      onTap: () => setSquare(1),
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-04
      • 2020-07-16
      • 1970-01-01
      • 2020-07-22
      • 1970-01-01
      • 1970-01-01
      • 2012-01-15
      相关资源
      最近更新 更多