📅  最后修改于: 2022-03-11 14:56:42.780000             🧑  作者: Mango
typedef MyTypedef(int value);
class MyController {
VoidCallback myFunction;
VoidCallback mySecondFunction;
MyTypedef functionThatReturns;
void dispose() {
//Remove any data that's will cause a memory leak/render errors in here
myFunction = null;
mySecondFunction = null;
functionThatReturns = null;
}
}
class MyWidget extends StatefulWidget {
const MyWidget({this.controller});
final MyController controller;
@override
_MyWidgetState createState() => _MyWidgetState();
}
class _MyWidgetState extends State {
@override
void initState() {
super.initState();
MyController _controller = widget.controller;
if (_controller != null) {
_controller.myFunction = firstFunction;
_controller.mySecondFunction = secondFunction;
_controller.functionThatReturns = functionWithInt;
}
}
void firstFunction() {
print('Calling first function');
}
void secondFunction() {
print('Calling second function');
}
void functionWithInt(int value) {
print('Calling third function with value $value');
}
@override
Widget build(BuildContext context) {
return Container();
}
}