You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter抛出异常:Unexpected null value,请求排查代码问题

异常排查与解决:Unexpected null value

可能原因

  • 传入的child参数为空:尽管ListItems声明了required this.child,但如果调用时传入了null(比如错误使用null!强制转换,或父组件变量本身为null),Text(child)会因接收空值触发异常。
  • Sizer未全局初始化:如果没有在应用根组件外层包裹Sizer,25.h这类尺寸计算会失效,可能引发空值相关异常。

解决方法

1. 确保child参数非空

检查调用ListItems的代码,保证传入的是有效字符串:

// 正确示例
ListItems(child: "列表项文本")

若父组件中的字符串可能为空,使用空值合并运算符处理:

// 处理可能为null的情况
ListItems(child: maybeNullText ?? "默认文本")

2. 全局初始化Sizer

在应用最外层嵌套Sizer组件,确保尺寸扩展方法全局可用:

void main() {
  runApp(
    Sizer(
      builder: (context, orientation, deviceType) {
        return MaterialApp(
          home: YourHomePage(),
        );
      },
    ),
  );
}

可选优化:添加参数校验

给ListItems的构造函数添加断言,提前拦截空值问题:

class ListItems extends StatelessWidget {
  final String child;
  const ListItems({super.key, required this.child}) 
      : assert(child.isNotEmpty, "child不能为null或空字符串");

  @override
  Widget build(BuildContext context) {
    // ... 原有代码
  }
}

内容的提问来源于stack exchange,提问作者Zeher

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 10:12:43