javascript - 關於react使用fetch請求資料的問題
phpcn_u1582
phpcn_u1582 2017-05-18 11:00:17
0
3
483

今天使用fetch去完善react專案的介面資料的時候,遇到了比較棘手的問題。
業務邏輯是:先判斷使用者的身份,然後為他展現相對應的介面。
但是fetch是非同步取得資料的,結果就出現了,頁面先渲染完,然後資料請求回來(資料請求的比頁面渲染的要慢),然後透過state,改變了頁面的顯示狀態。
這樣就出現了,頁面先展示了一個介面,然後過了1~2秒之後,狀態改變,介面又改變了,使用者體驗很差。請問有什麼解決的辦法麼。
最好是先接受了數據,再判斷完,再去渲染介面。

phpcn_u1582
phpcn_u1582

全部回覆(3)
洪涛

這個其實很簡單,你在render的return中做一個三元運算子。判斷數據是否獲取到。

<p>
{this.state.data==null?<p></p>:<YourTemplate/>}
</p>

還有一個想法就是你把fetch 寫在render中,把return的模版放在fetch 的then回呼中,這樣就可以實現獲取了資料再進行渲染。不過我沒有試驗,應該是可行的。
如果覺得我的回答解決了你的問題,請點擊
采纳答案
如果有什麼疑問請評論區提問。

小葫芦

弄個loading提示框,
等資料請求完以後再進行渲染頁

迷茫

將使用者的身分的狀態先存在localStorage中,第一次先從localStorage取

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!