第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

未來構(gòu)建器中出現(xiàn)無意義的 Api 請求

未來構(gòu)建器中出現(xiàn)無意義的 Api 請求

Go
德瑪西亞99 2023-03-07 11:15:44
我的 flutter 應(yīng)用程序中有一個(gè) Future Builder,它顯示——Error : 如果json解析有錯(cuò)誤數(shù)據(jù):如果一切順利裝載機(jī):如果需要時(shí)間一切正常。Future 正在調(diào)用一個(gè)“future”函數(shù),該函數(shù)正在執(zhí)行一些學(xué)生數(shù)據(jù)的獲取請求,而“builder”正在顯示它。我在同一頁上有一個(gè)編輯對(duì)話框。我可以通過put請求編輯學(xué)生信息。問題是,當(dāng)我單擊編輯對(duì)話框中的表單字段時(shí),我注意到獲取請求自動(dòng)發(fā)生了大約 10 次。當(dāng)我保存編輯時(shí),會(huì)出現(xiàn)一個(gè)確認(rèn)對(duì)話框,表明數(shù)據(jù)已更新。當(dāng)這種情況再次發(fā)生時(shí),獲取請求最多發(fā)生 10 次。然后它彈出。所以服務(wù)器上大約有 20 個(gè)無用的請求發(fā)生。我認(rèn)為它發(fā)生是因?yàn)楫?dāng)我單擊表單字段時(shí),鍵盤出現(xiàn)并且底層顯示小部件重建,調(diào)用 api。當(dāng)數(shù)據(jù)被編輯時(shí),鍵盤會(huì)再次回到原來的位置,小部件會(huì)重建,調(diào)用 api。我該如何解決這個(gè)問題?如果有幫助,這是代碼: child: FutureBuilder(            future: APIs().getStudentDetails(),            builder: (context, data) {              if (data.hasError) {                return Padding(                    padding: const EdgeInsets.all(8),                    child: Center(child: Text("${data.error}")));              } else if (data.hasData) {                var studentData = data.data as List<StudentDetails>;                return Padding(                  padding: const EdgeInsets.fromLTRB(0, 15, 0, 0),                  child: SingleChildScrollView(                    child: SizedBox(                      height: MediaQuery.of(context).size.height * 0.9,                      child: ListView.builder(                        itemCount: studentData.length,                        itemBuilder: ((context, index) {                          final student = studentData[index];                          final id = student.studentId;                          final father = student.fatherName;                          final mother = student.motherName;                          final cg = student.cg;                                  },  
查看完整描述

3 回答

?
冉冉說

TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超1個(gè)贊

我遵循了這個(gè)答案并且它有效。Flutter FutureBuilder 不斷被調(diào)用 顯然我不得不“懶惰地初始化我的未來”和“在 initState 中初始化我的未來:”



查看完整回答
反對(duì) 回復(fù) 2023-03-07
?
SMILET

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊

future為like創(chuàng)建一個(gè)狀態(tài)變量

late final future = APIs().getStudentDetails();

并使用

FutureBuilder(
   future: future ,

您可以檢查Fixing a common FutureBuilder and StreamBuilder problem


查看完整回答
反對(duì) 回復(fù) 2023-03-07
?
慕容708150

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超4個(gè)贊

class _YourWidgetState extends State<YourWidget> with AutomaticKeepAliveClientMixin<YourWidget> {

 @override

  bool get wantKeepAlive => true;

因此,使用 AutomaticKeepAliveClientMixin 擴(kuò)展您的 Widget,這樣 Listview 中的項(xiàng)目將不會(huì)被復(fù)制


查看完整回答
反對(duì) 回復(fù) 2023-03-07
  • 3 回答
  • 0 關(guān)注
  • 107 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)