您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“react http請求放哪里進行操作”,內容詳細,步驟清晰,細節(jié)處理妥當,希望這篇“react http請求放哪里進行操作”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
react http請求應該放在componentDidMount中去操作,這是對于異步請求來說的;而對于同步的狀態(tài)改變,react網絡請求可以放在componentWillMount中,一般用的比較少。
總的來說,對于異步請求,最好放在componentDidMount中去操作,對于同步的狀態(tài)改變,可以放在componentWillMount中,一般用的比較少。
如果認為在componentWillMount里發(fā)起請求能提早獲得結果,這種想法其實是錯誤的,通常componentWillMount比componentDidMount早不了多少微秒,網絡上任何一點延遲,這一點差異都可忽略不計。
看看react的生命周期:
constructor() ----> componentWillMount() ----> render() ----> componentDidMount()
上面這些方法的調用是有次序的,由上而下依次調用。
constructor被調用是在組件準備要掛載的最開始,此時組件尚未掛載到網頁上。
componentWillMount方法的調用在constructor之后,在render之前,在這方法里的代碼調用setState方法不會觸發(fā)重新render,所以它一般不會用來作加載數據之用。
componentDidMount方法中的代碼,是在組件已經完全掛載到網頁上才會調用被執(zhí)行,所以可以保證數據的加載。此外,在這方法中調用setState方法,會觸發(fā)重新渲染。所以,官方設計這個方法就是用來加載外部數據用的,或處理其他的副作用代碼。與組件上的數據無關的加載,也可以在constructor里做,但constructor是做組件state初紿化工作,并不是做加載數據這工作的,constructor里也不能setState,還有加載的時間太長或者出錯,頁面就無法加載出來。所以有副作用的代碼都會集中在componentDidMount方法里。
讀到這里,這篇“react http請求放哪里進行操作”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。