当我使用 dart 迁移工具时,它建议对 AnimatedBuilder 的构建器进行强制转换:
向表达式添加强制转换(非向下转换)
这真的有必要吗?
builder
你得到这个建议是因为类中的签名AnimatedBuilder
有一个child
可以为空的类型,Widget
即Widget?
TransitionBuilder = Widget Function(BuildContext context, Widget? child);
您可以删除演员表或使用
AnimatedBuilder(
builder: (_, Widget? child) { // <-- Added Widget?
return Container();
},
)
不是真的,不仅如此,还有任何可选的强制转换,当你删除它时,编译器会继续运行,它会工作。万一某些东西对编译器来说不明确,而你的情况不是这样,你应该显式地转换。