一、阐明
看到许多 Flutter 构建 UI 时会比力多用到 const,为什么不直接创建实例,而要在前端加一个 const 呢 ?
child: const Text('加 const'); VS child: Text('不加 const');二、只管用 const 的来由
当我们调用 setState() 后,Flutter 会调用 build 方法,而且 rebuild 此中的每一个组件,制止全部重新构建的方法就是用 const。
假如一个组件更新频仍(好比动画),用 const 后可以淘汰垃圾接纳。
三、示例
class _MyWidgetState extends State<MyWidget> { String title = "Title"; @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(title), ), body: Column( children: <Widget>[ const Text("Text 1"), const Padding( padding: const EdgeInsets.all(8.0), child: const Text("Another Text widget"), ), const Text("Text 3"), ], ), floatingActionButton: FloatingActionButton( child: const Icon(Icons.add), onPressed: () { setState(() => title = 'New Title'); }, ), ); }}当你点击 FloatingActionButton 调用 setState 后,全部 const 界说的组件都不会重新构建 |