Dart 为什么在传递到小部件时立即调用回调
我创建了一个自定义小部件Dart 为什么在传递到小部件时立即调用回调,dart,flutter,Dart,Flutter,我创建了一个自定义小部件MyTimer,其中我传递了一个回调函数,当它完成时必须调用该函数,如屏幕截图所示 以下是我的MyTimer类代码: class MyTimer extends StatefulWidget { VoidCallback callback; MyTimer(this.callback); @override State<StatefulWidget> createState() => new MyTimerState(); } 类M
MyTimer
,其中我传递了一个回调函数,当它完成时必须调用该函数,如屏幕截图所示
以下是我的MyTimer类代码:
class MyTimer extends StatefulWidget {
VoidCallback callback;
MyTimer(this.callback);
@override
State<StatefulWidget> createState() => new MyTimerState();
}
类MyTimer扩展StatefulWidget{
无效回调;
MyTimer(this.callback);
@凌驾
State createState()=>新建MyTimerState();
}
但当页面加载时,会自动调用它。如何防止这种情况发生?您需要传递函数引用,而不是函数调用的结果
new MyTimer(() => gameOver())
如果没有()=>
,则执行gameOver()
,并将结果传递给newmytimer(…)