<address id="r9vd9"><address id="r9vd9"><listing id="r9vd9"></listing></address></address>

      歡迎您光臨深圳塔燈網絡科技有限公司!
      電話圖標 余先生:13699882642

      網站百科

      為您解碼網站建設的點點滴滴

      flutter入坑指南(二)

      發表日期:2018-09 文章編輯:小燈 瀏覽次數:2361

      擼完hello world 頓時世界都清凈了,瞬時感覺已經精通flutter的安裝了。

      言歸正傳,在整個flutter框架里萬事萬物都是widget,那就從StatefulWidget 和?StatelessWidget入手,兩者之間到底有什么差異,以及在什么場景下如何使用。

      在flutter中所有控件都是以樹狀結構進行渲染,在main方法中會初始化頂端節點并裝載,該節點會成為我們app的根結點,后續的節點將被嵌套或者直接掛載到該節點下,Widget初始化的時候會調用Widget.createElement 方法生成Element,緊接著框架會調用mount方法將element插入到父級節點下,mount方法主要是負責填充子節點或者子樹同時還會調用attachRenderObject方法來渲染需要進行渲染的renderObject。渲染成功后父節點會根據state的狀態決定是否修改子節點或者子樹,如果需要修改則會調用update方法,當然如果子樹中有控件調用了deactivateChild 父節點將會移除該子樹或節點,這時會出發系統的deactive方法,當新的控件被修改后同樣會出發系統的activate方法,如果控件的轉臺為inactive則會調用unmount方法

      控件渲染的過程中同步讀取State的數據,在控件的整個生命周期中可能會被多次改變,如果想要State的數據變化能夠被控件知曉需要調用State.setState方法

      StatefullWidget使用場景:UI需要動態改變或者要依賴內部的時鐘狀態或者要依賴其他的系統狀態才能完成控件的渲染

      StatelessWidget適用于只需要依賴控件的配置信息就能完成控件的渲染

      StatelessWidget->build()方法是在widget被插入到控件樹或者依賴的其他控件發生變化的時候才會被調用。

      StatefullWidget沒有build方法,在框架設計的時候build方法被放到了State中,有多種情況可以出發build方法:

      ?1.initState 方法被調用后會觸發?

      2.didUpdateWidget被執行后會觸發?

      3.依賴的子樹的State發生改變同樣會觸發

      ?4.deactivate方法被調用后重新將控件插入到控件樹的其他位置也會被觸發


      本頁內容由塔燈網絡科技有限公司通過網絡收集編輯所得,所有資料僅供用戶學習參考,本站不擁有所有權,如您認為本網頁中由涉嫌抄襲的內容,請及時與我們聯系,并提供相關證據,工作人員會在5工作日內聯系您,一經查實,本站立刻刪除侵權內容。本文鏈接:http://www.webpost.com.cn/17538.html
      相關APP開發
       八年  行業經驗

      多一份參考,總有益處

      聯系深圳網站公司塔燈網絡,免費獲得網站建設方案及報價

      咨詢相關問題或預約面談,可以通過以下方式與我們聯系

      業務熱線:余經理:13699882642

      Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.    

      国产成人精品综合在线观看