flutter - 为什么我不能在子小部件中使用我为 onTap 传递的函数?
问题描述
我刚刚开始尝试学习颤振,并且在使用父小部件中的函数时遇到问题。
这是我要使用该功能的文件: 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',因此无法使用。” 但我不确定如何解决这个问题。
感谢任何提示......我知道这个应用程序可能有很多问题,但这是我第一次尝试使用颤振
解决方案
首先,请在将来正确格式化您的问题,使用相关的代码片段而不是链接文件,更多信息:https ://stackoverflow.com/help/how-to-ask
现在您的问题是由于对=>
运算符的错误使用
onTap: () => {setSquare(1)}
您在这里所做的是返回一个包含该函数的对象。使用正确的 dart 语法,您可以将其编写为:
onTap: () {setSquare(1);}
或者
onTap: () => setSquare(1),
推荐阅读
- swift - swift中保留计数和引用计数的区别
- sql - 使用 DatePart(hour,Datetime) 提取“小时”后将小时转换为 12 小时格式
- fortran - fortran95 中的调用图 doxygen
- c# - 就像在视图中一样,在 C# 中将子对象转换为父对象并返回给子对象
- python - Selenium 和 Python,从 HTML 正文中获取没有任何标签的文本
- pdf - 如何检查 pdf 的编码和 ToUnicode 是否正确完成?
- laravel - 我收到此错误:未捕获的 ReferenceError:当我声明全局变量时未定义 vue
- ruby-on-rails - 只为特定的代码路径调用 after_action
- python - SOAP在python中解码未知的文档流响应
- angular - 如何从静态数组而不是动态用户输入设置 FormControl 名称?