亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

react 16.8.6 前端請求,用useEffect調用接口,但是這樣接口會被不停的調用,那么代碼該怎么寫?求指導!

react 16.8.6 前端請求,用useEffect調用接口,但是這樣接口會被不停的調用,那么代碼該怎么寫?求指導!

Helenr 2019-08-05 22:56:14
react16.8.6前端請求,打開頁面就要調用接口,獲取數據,于是用useEffect調用接口,但是這樣接口會被不停的調用,那么代碼該怎么寫?useEffect(()=>{axios.get('/getYearMonth').then(res=>{console.log('getYearMonth',res);setValues(oldValues=>({...oldValues,fileList:res.data.msg}));})},[values]);
查看完整描述

2 回答

?
不負相思意

TA貢獻1777條經驗 獲得超10個贊

//頁面進來只調用一次
useEffect(()=>{
axios.get('/getYearMonth').then(res=>{
console.log('getYearMonth',res);
setValues(oldValues=>({
...oldValues,
fileList:res.data.msg
}));
})
},[]);
                            
查看完整回答
反對 回復 2019-08-05
?
互換的青春

TA貢獻1797條經驗 獲得超6個贊

這么寫:
useEffect(()=>{
axios.get('/getYearMonth').then(res=>{
console.log('getYearMonth',res);
setValues(oldValues=>({
...oldValues,
fileList:res.data.msg
}));
})
},[]);
你現在的寫法是每當values有變化時都會觸發一次,剛好里面請求返回時將values給重新進行了賦值,導致會一直循環觸發事件
                            
查看完整回答
反對 回復 2019-08-05
  • 2 回答
  • 0 關注
  • 292 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號