react有數(shù)據(jù)但渲染不上如何解決

本篇內(nèi)容主要講解“react有數(shù)據(jù)但渲染不上如何解決”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“react有數(shù)據(jù)但渲染不上如何解決”吧!

成都創(chuàng)新互聯(lián)專注于臨洮網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供臨洮營銷型網(wǎng)站建設(shè),臨洮網(wǎng)站制作、臨洮網(wǎng)頁設(shè)計(jì)、臨洮網(wǎng)站官網(wǎng)定制、小程序制作服務(wù),打造臨洮網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供臨洮網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

react有數(shù)據(jù)但渲染不上的解決辦法:1、在構(gòu)造方法里,調(diào)用getXXX方法;2、在getXXX方法里設(shè)置setState;3、當(dāng)getXXX的請(qǐng)求收到服務(wù)器的響應(yīng)后,執(zhí)行setState時(shí),重新觸發(fā)頁面渲染即可。

react 獲取后臺(tái)數(shù)據(jù)渲染頁面不顯示

問題描述:

  • 想要的結(jié)果:在一個(gè) reactComponent 獲取后臺(tái)的數(shù)據(jù)并顯示,頁面第一次渲染時(shí)就顯示

  • 進(jìn)行的嘗試:在組件外定義了一個(gè) getXXX 方法,使用 axios 請(qǐng)求后臺(tái)的結(jié)果,在 Component 的構(gòu)造方法里調(diào)用該方法,將該方法的結(jié)果賦值給 state 屬性里

  • bug結(jié)果: 后臺(tái)數(shù)據(jù)接收到了請(qǐng)求,并正確返回結(jié)果,但是頁面卻沒有渲染,使用 console 輸出 GetXXX 的結(jié)果,結(jié)果是正確的

  • bug排查:已確定后臺(tái)收到請(qǐng)求并返回正確結(jié)果,前端也輸出正確結(jié)果,也就說明是頁面渲染先于獲取到數(shù)據(jù),但是react組件的加載順序是先構(gòu)造方法,再去調(diào)用render。所以只可能是異步的問題

  • 分析: axios是一個(gè)異步請(qǐng)求,構(gòu)造方法中調(diào)用這個(gè)方法,但是沒有立刻獲取到結(jié)果,所以 state 賦值的是一個(gè) 結(jié)果的成員變量,結(jié)果肯定是空,所以渲染的頁面也無數(shù)據(jù)的

  • 進(jìn)行的嘗試: 在render方法里使用axios請(qǐng)求,獲取到結(jié)果后使用setState方法將結(jié)果賦值給state。結(jié)果運(yùn)行報(bào)錯(cuò),因?yàn)闀?huì)造成死循環(huán),因?yàn)?setState 會(huì)更新頁面,即調(diào)用render方法,在 render 方法里調(diào)用setState會(huì)造成死循環(huán)

  • 正確處理方:在構(gòu)造方法里,調(diào)用getXXX方法,在getXXX方法里設(shè)置setState,這樣頁面會(huì)先進(jìn)行渲染(數(shù)據(jù)結(jié)果為空),當(dāng)getXXX的請(qǐng)求收到服務(wù)器的響應(yīng)后,執(zhí)行setState時(shí),會(huì)重新觸發(fā)頁面渲染。因?yàn)檎?qǐng)求響應(yīng)的時(shí)間與服務(wù)器處理有關(guān),當(dāng)響應(yīng)時(shí)間很短時(shí),前端就看不見數(shù)據(jù)為空的結(jié)果,后臺(tái)響應(yīng)時(shí)間較長的情況,可以加一個(gè) Antd 的加載組件 Spin,提示正在加載。

到此,相信大家對(duì)“react有數(shù)據(jù)但渲染不上如何解決”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

分享標(biāo)題:react有數(shù)據(jù)但渲染不上如何解決
文章鏈接:http://muchs.cn/article4/gdscoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、網(wǎng)頁設(shè)計(jì)公司網(wǎng)站收錄、網(wǎng)站營銷、ChatGPT、關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化