Flutter中你需要了解的一些知识
关于Flutter的那些事儿
作者:坚果
公众号:""
华为云享专家,InfoQ签约作者,阿里云专家博主,51CTO博客首席体验官,,专注于大前端技术的分享,包括Flutter,小程序,安卓,VUE,JavaScript。
什么是Flutter?
Flutter是一个开放源码的UI 由谷歌创建的开发套件。它用于从单个代码库开发适用于 Android、iOS、Linux、Mac、Windows 和 Web 的应用程序。Flutter 应用程序是用 Dart 语言编写的。
什么是Dart?
Dart 是一种客户端优化的编程语言,适用于多个平台上的应用程序。它由 Google 开发,用于构建移动、桌面、服务器和 Web 应用程序。Dart 是一种面向对象、基于类、垃圾收集的语言,具有 C 风格的语法。Dart 可以编译为原生代码或 JavaScript。
有状态和无状态widget有什么区别?
-
无状态widget不需要可变状态,即它是不可变的。无状态widget的状态只创建一次——因此,构建方法也只调用一次。简而言之,无状态widget在应用程序运行期间无法更改其状态,这意味着在应用程序运行时无法重绘widget。如果要重绘无状态widget,则需要创建widget的新实例。
-
有状态widget具有可变状态,即它们是可变的并且可以在其生命周期内多次绘制。它们是可以多次更改状态的widget,并且可以在应用程序运行时在屏幕上多次重绘。
State 是什么意思?什么是 setState()?
状态是widget的变量值/属性的集合。任何可以改变的东西,比如计数器计数、文本等,都可以成为 State 的一部分。
setState() 本质上是一种告诉应用程序使用新值/属性刷新和重建屏幕的方法。
状态对象由框架创建。为了更改您的widget,您需要更新状态对象,这可以使用可用于有状态widget的 setState() 函数来完成。setState() 设置状态对象的属性,进而触发 UI 的更新。但是这种技术有其自身的缺点。
“StatefulWidget”的生命周期是什么?
-
createState()
— a 中的一个方法会StatefulWidget
立即被调用,并且应该State
为widget返回一个对象 -
initState()
—State
创建widget后在对象中调用的第一个方法 -
didChangeDependencies()
—initState()
在第一次构建widget后立即调用 -
build()
— 与StatelessWidget
. 它在 之后立即调用didChangeDependencies()
。每次 UI 需要渲染并返回widget的树时都会调用它。 -
didUpdateWidget()
— 当父widget发生变化并需要重绘其 UI 时调用它 -
deactivate()
— 调用 beforedispose()
,当这个对象从树中移除时 -
dispose()
— 在释放整个widget及其状态时调用。
- 点赞
- 收藏
- 关注作者
评论(0)