小编OwO*_*OwO的帖子

为什么 Dart 中的 const Widget 不相同?

当我们调用identical()使用其构造函数创建的两个小部件时const,它返回 false。而在为两个非小部件对象调用相同的方法时,它会返回true

这是为什么 ?

void main() {

  final a = const Center(
    child: const Padding(padding: const EdgeInsets.all(8),)
  );

  final b = const Center(
    child: const Padding(padding: const EdgeInsets.all(8),)
  );

  assert(identical(a, b)); // false


  var a1 = const EdgeInsets.all(8);

  var b1 = const EdgeInsets.all(8);


  assert(identical(a1, b1)); // true

}
Run Code Online (Sandbox Code Playgroud)

[错误:flutter/lib/ui/ui_dart_state.cc(199)] 未处理的异常:'package:todo_improve/main.dart':断言失败:第 17 行 pos 8:'identical(a, b)':不正确。

constants widget dart flutter

4
推荐指数
1
解决办法
396
查看次数

标签 统计

constants ×1

dart ×1

flutter ×1

widget ×1