我正在使用React-Redux來構建應用程序。爲了加載React智能組件的初始數據,我需要派發一個Redux動作來進行Ajax調用。我試過在構造函數(ES6實現),componentWillMount和assembliesnetDidMount中分派動作。他們都工作。我的問題是:在React智能組件中是否有推薦的地方應該調度該操作。在哪裏通過AJAX在ReactJS中加載初始數據
4
A
回答
6
編輯:Dan Abramov recently stated
在陣營我們預計componentWillMount將火不止一次在某些情況下,所以你應該使用componentDidMount網絡請求的未來版本。
在componentDidMount
讀here。
在componentDidMount中提取數據。當響應到達時,將數據存儲在狀態中,觸發渲染以更新UI。
當異步獲取數據時,在卸載組件之前使用componentWillUnmount取消任何未完成的請求。
文檔對於「爲什麼在componentDidMount
」中確實很稀少。如果使用服務器端渲染,我相信componentWillMount
不會被調用,所以這可能是首選componentDidMount
的原因。
1
我相信推薦的方法是在componentDidMount中執行此操作。有關更多信息,請參閱this。
相關問題
- 1. React Js:如何重新加載通過ajax加載的初始數據?
- 2. 如何在數據通過AJAX在AngularJS中加載後重新初始化數據表?
- 3. os.environ初始化在哪裏?
- 4. 在哪裏初始化TempData
- 5. JSP在哪裏初始化?
- 6. 在初始頁面加載時通過Ajax加載內容的設計模式
- 7. 如何確保數據在渲染ReactJS組件之前已通過AJAX加載?
- 8. iphone tabbar在哪裏加載數據?
- 9. 反應 - 通過AJAX加載初始列表
- 10. 在reactjs組件中預加載數據
- 11. Highcharts和通過Ajax加載數據
- 12. highcharts如何通過ajax加載數據
- 13. 通過jquery ajax爲datagrid加載數據?
- 14. 玩!始終加載初始數據
- 15. AsyncTask訪問數據庫 - 在哪裏初始化,關閉?
- 16. forks.c的total_forks在哪裏初始化?
- 17. QGLWidget paintEvent:在哪裏初始化openGL?
- 18. 在哪裏初始化木材和crashlytics
- 19. 在哪裏初始化一個NSMutableArray?
- 20. 我在哪裏初始化NSMutable Dictionary?
- 21. MSTAPI請求ID在哪裏初始化?
- 22. Python的sys.path在哪裏初始化?
- 23. CherryPy + Jinja,在哪裏初始化環境
- 24. 在哪裏初始化我的TableView DataController?
- 25. _mainViewController在哪裏聲明和初始化?
- 26. 在android中的抽屜活動和在哪裏加載數據?
- 27. reactjs反應選擇初始數據
- 28. jQuery加載頁面通過ajax和後窗體裏面的返回ajax數據
- 29. 在Realm中添加初始數據Android
- 30. 在AJAX加載內容中初始化jqtouch中的鏈接
是的。我已閱讀你提到的文檔。但試圖理解爲什麼在componentDidMount?由於在其他地方的派遣行動也起作用。 – Jane
我相信componentDidMount是用於副作用,如異步操作或直接改變DOM,但目前找不到確切的來源..查看我更新的答案。 – lustoykov