搜尋

首頁  >  問答  >  主體

javascript - didMount 或 willMount 處的 ajax


看了一下斷點,順序是16-30-21-30.也就是willmount之後render,load這個非同步方法在任務佇列中再執行,setState, diff,然後render
為啥都說要在didmount裡面ajax呢

天蓬老师天蓬老师2709 天前1130

全部回覆(1)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-07-05 11:09:35

    無論是在willMounnt還是didMount觸發非同步請求,都會render兩次。第一次是元件載入時,第二次是在非同步請求回傳setState時。

    但是,邏輯應該是在顯示元件,例如有載入狀態,然後去觸發請求。還有一個最重要的點,react fiber更新之後,他會多次觸發willMounnt,如此會造成bug。所以,非同步請求一般放在didMount。

    回覆
    0
  • 取消回覆