iT邦幫忙

0

react get data 使用 useEffet和 axios 資料不見疑問

請問我現在是用axios去取得資料
取過來是一個array裡面包一堆資料
到這邊都沒問題

但是當我想要取用裡面的值時
剛開始第一次改他還會秀出來
但當我一按F5後
他就會說undefined
直接用console.log去看 會發現原本取過來的array也變成空的了

請問這是哪邊出了問題呢
感謝各位大大

dragonH iT邦超人 5 級 ‧ 2021-01-24 17:21:01 檢舉
重整後本來就不會留 data 阿
@dragonH 原來 我再試試
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
㊣浩瀚星空㊣
iT邦大神 1 級 ‧ 2021-01-25 10:35:34
最佳解答

你的問題,得先了解一下ajax的工作原理跟你的架構處理。
ajax拉下來的資料,都只是暫存在瀏覽器上。

正常來說一般使用vue使,本身就不會有f5的操作才對。
所以暫存的資料會一直存在。
當然了,會員們沒人知道。

所以你得針對第一次載入頁面時。一些必要資料的讀取處理。
來應付整頁面時ajax的資料消失的問題。

可是,有時需要ajax的東西太多。在重載頁面時做動作有時太過可怕。
這時候就要規劃好。

比較看到常用的是session或是cookie的記錄方式。(但這也只限於不重要的

浩瀚星空 了解 那我有辦法把資料或是說狀態讓他在每次刷新都重新取得嗎 還是這樣太麻煩了

我自已是做了一支類似init的機制。
每一次切頁或是換頁時,會去檢查我的容器內是否存在這些必要的變數。
不存在的話會再請求一次。

基本的init會放在主容器裏,也就是說,一般的操作控制。並不會去觸發它。
只有在重新刷頁的情況下,會因為載入主容器而去觸發它。
借此來保証我的資料變數存在性。

感謝提供一個方向! 再來去研究研究~

我要發表回答

立即登入回答