flutter 基础面试题

https://www.jianshu.com/p/de8fbb09dfb4

Dart 中 var 与 dynamic 的区别

使用 var 来声明变量,dart 会在编译阶段自动推导出类型。而 dynamic 不在编译期间做类型检查而是在运行期间做类型校验。

const 和 final 的区别

const 的值在编译期确定,final 的值在运⾏时确定。

Dart 中??与??=的区别

两者都是 dart 中的操作符,??表示如果为空则返回,??=表示如果为空则赋值。例如:

String a;
String b = a ?? "1";
print(b); //打印结果:1
print(a); //打印结果:null
a ??= "2";
print(a); //打印结果:2

Flutter 中的 GlobalKey 是什么,有什么作用?

Globalkey 可以主动获取以及主动改变子控件的状态。

Widget、Element、RenderObject 三者之间的关系

Widget 不是真正渲染 UI 的对象,它只是 Element 的一个配置描述,去告知 Element 应该如何去渲染,Widget 和 Element 之间是 ⼀对多的关系。 RenderObject 才是实际渲染的对象,Element 持有 RenderObject 和 Widget。 ⼤致总结三者的关系是:配置⽂件 Widget ⽣成了 Element,⽽后创建 RenderObject 关联到 Element 的内部 renderObject 对象上,最后 Flutter 通过 RenderObject 数据来布局和绘制。

上次更新:
贡献者: 郑壮