84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
看了一下斷點,順序是16-30-21-30.也就是willmount之後render,load這個非同步方法在任務佇列中再執行,setState, diff,然後render為啥都說要在didmount裡面ajax呢
欢迎选择我的课程,让我们一起见证您的进步~~
無論是在willMounnt還是didMount觸發非同步請求,都會render兩次。第一次是元件載入時,第二次是在非同步請求回傳setState時。
但是,邏輯應該是在顯示元件,例如有載入狀態,然後去觸發請求。還有一個最重要的點,react fiber更新之後,他會多次觸發willMounnt,如此會造成bug。所以,非同步請求一般放在didMount。
無論是在willMounnt還是didMount觸發非同步請求,都會render兩次。第一次是元件載入時,第二次是在非同步請求回傳setState時。
但是,邏輯應該是在顯示元件,例如有載入狀態,然後去觸發請求。還有一個最重要的點,react fiber更新之後,他會多次觸發willMounnt,如此會造成bug。所以,非同步請求一般放在didMount。