AJAX請求應該在componentDidMount生命周期事件中。
這有一些原因,
- Fiber,下一次實施React的對帳算法后,將有能力根據需要開始和停止呈現,以獲得性能優勢。其中一個取舍之一是組件 WillMount ,其他生命周期事件,它可能有意義的AJAX請求,將是“非確定性”。這意味着React可以在需要的時候開始調用componentWillMount在不同的時間。這顯然是AJAX請求的一個壞的公式。
- 您不能保證組件掛載前的AJAX請求無法解決。如果這樣做,那意味着你會試圖在一個未安裝的組件上設置StState,這不僅不會起作用,反而會讓你大喊大叫。在componentDidMount中執行AJAX將保證有一個要更新的組件。