flutter VoidCallback 是什么?

4 min read

查看VoidCallback 源码

/// Signature of callbacks that have no arguments and return no data.
typedef VoidCallback = void Function();

typedef 用法

给某种特定的函数类型起一个名字,可以认为是一个类型的别名, 可以类比 class 和对象这样理解:自己定义了一种数据类型,不过这种数据类型是一个函数类型,一个一个的具体实现的函数就相当于按照这种类型实例化的对象

//声明参数为 int ,无返回值的 callback 函数 MenuCallBack
typedef MenuCallBack = void Function(int position);
//声明一个参数为 context 和 int ,返回值是 Widget 的 callback 函数 IndexedWidgetBuilder
typedef IndexedWidgetBuilder = Widget Function(BuildContext context, int index);

//声明一个 参数为 BuildContext ,返回值 Widget 的 callback 函数 WidgetBuilder
typedef WidgetBuilder = Widget Function(BuildContext context);