Flutter 使用 asserts 限定Child 的类型?

10 min read

Flutter 中的 assert 关键字可以用来限定 Child 的类型。在一个 widget 中,可以通过 assert 来判断其 child 是否符合要求。例如:

class MyWidget extends StatelessWidget {
  const MyWidget({Key? key, required this.child}) : super(key: key);

  final Widget? child;

  @override
  Widget build(BuildContext context) {
    assert(child is Text, 'Child should be Text widget');
    return Container(
      child: child,
    );
  }
}

在这个例子中,我们通过 assert 判断 child 是否为 Text 类型的 widget。如果不是,会抛出一个异常。这可以帮助我们在开发过程中尽早地发现问题,提高程序的健壮性。