Flutter?Widget之FutureBuilder使用示例詳解
正文
本質(zhì)上Flutter和Dart是異步的,Dart是Futures使你能夠管理IO而不用擔心線程或死鎖。
例如,從應用程序外部加載數(shù)據(jù)需要時間,而Futures允許Dart先處理其他任務直到請求的數(shù)據(jù)可用。
涉及Future時 如何構(gòu)建Flutter小部件
輸入FutureBuilder
輸入FutureBuilder,這是處理Futures的構(gòu)造器
FutureBuilder( future: _data, builder: _myBuilderFunction, )
FutureBuilder讓你輕松確定Future的當前狀態(tài)并選擇在數(shù)據(jù)加載時和數(shù)據(jù)可用時顯示的內(nèi)容。
首先給FutureBuilder一個Future,但是等一下,你不想在FutureBuilder里創(chuàng)建Future。
正如這段代碼所代表
每次重建FutureBuilder的parent時都會重新開始獲取數(shù)據(jù)。
相反,早些獲得Future,就像在小部件生命周期方法一樣
initState didUpdateWidget didChangeDependencies
因此,創(chuàng)建新的狀態(tài)變量并將此數(shù)據(jù)獲取請求,從FutureBuilder移到initState,在那里我們會給它一個builder,但要確保使用connectionState檢查Future的狀態(tài),并在Future忙碌時顯示適當?shù)男〔考?/p>
Future<MyData> _data; initState() { _data = http.get('http://awessome.data'), } FutureBuilder( future: _data, builder: (context, snapshot) { if (snapshot.connectionState == done) { return AwesomeData(snapshot.data); } else { return CircularProgressIndicator(); } } )
最后,在Future進行解析時最好檢查有沒有發(fā)生錯誤
if (snapshot.connectionState == done) { if (snapshot.hasError) { return SomethingWenWrong(); } }
其他connectionStates
你也可以使用其他connectionStates
- ConnectionState.active
- ConnectionState.done
- ConnectionState.waiting
- ConnectionState.none
如果想了解有關FutureBuilder的內(nèi)容,或者關于Flutter的其他功能,請訪問flutter.dev
以上就是Flutter Widget之FutureBuilder使用示例詳解的詳細內(nèi)容,更多關于Flutter Widget FutureBuilder的資料請關注腳本之家其它相關文章!
相關文章
Android復選框CheckBox與開關按鈕Switch及單選按鈕RadioButton使用示例詳解
這篇文章主要介紹了Android復選框CheckBox與開關按鈕Switch及單選按鈕RadioButton使用示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧2022-09-09Android中使用Toast.cancel()方法優(yōu)化toast內(nèi)容顯示的解決方法
做程序員的,基本一看api就知道,用這個可以取消上一個toast的顯示,然后顯示下一個,這樣就能解決出現(xiàn)的問題。可是在測試的過程中,發(fā)現(xiàn)卻沒有想象中的那么簡單,不信可以百度一下,很多很多人發(fā)現(xiàn)toast的cancel()方法不起作用2013-05-05超簡單實現(xiàn)Android自定義Toast示例(附源碼)
本篇文章主要介紹了超簡單實現(xiàn)Android自定義Toast示例(附源碼),具有一定的參考價值,有興趣的可以了解一下。2017-02-02設置Android設備WIFI在休眠時永不斷開的代碼實現(xiàn)
這篇文章主要介紹了設置Android設備WIFI在休眠時永不斷開的代碼實現(xiàn),需要的朋友可以參考下2014-07-07Android實現(xiàn)手勢控制ImageView圖片大小
這篇文章主要介紹了Android實現(xiàn)手勢控制ImageView圖片大小的相關資料,需要的朋友可以參考下2016-02-02