我來自一個Angular2世界,其中有服務可以執行正常的數據加載等,現在我在React,Redux應用程序中,並試圖找出與Angular2服務等效的內容在Redux(React)中。它變回紅色嗎?Redux等效於Angular2服務
1
A
回答
3
答案是是和否。
是
角服務必須加載數據,通常返回獲取與加載的數據解決的
Promise
對象的邏輯。藉助Redux Thunk中間件,您可以創建異步操作創建器,並將數據加載邏輯放在此處。但不是直接返回一個對象,而是等待數據解析並分派一個動作來更新加載數據的狀態。 React組件通過道具從Redux商店接收數據。 (參見從
react-redux
connect()
方法。)
否
- 角服務是用於促進與遠程的HTTP服務器的通信提供特定的功能,如
$http
單身。 - Redux Thunk是一箇中間件,除了允許您編寫異步操作創建器(可以延遲操作的分派)或僅在滿足特定條件時才分派時,它什麼也不做。動作創建者是創建動作的函數 - 它們不打算提供其他功能,例如與後端服務器的通信。
就這麼說,它通常是編碼風格的地方,你怎麼寫邏輯來加載數據。
您可以使用Fetch API
或其polyfill函數或axios
庫,兩者都是基於Promise
的。你也可以考慮使用Observables
,但我認爲它超出了主題。
當您使用Angular服務時,您可以將所有相關邏輯放在一個位置並導出它們。在你的動作創建者中,你可以調用這些包裝器/幫助器,監聽解析/拒絕,並派遣一個適當的動作,並將數據解析爲有效載荷。
您的縮減器在接收到分派的操作後會更新Redux存儲,並將這些狀態更改傳播到React組件。這是Flux體系結構如何工作和數據如何從Redux Store流向React組件,AFAIK。
(我可能是錯的,請糾正我,如果事情是不正確的,我願意接受你的意見,我還是上找出落實在陣營應用服務的最佳實踐方式。)
相關問題
- 1. Angular2等效ReactDOM.render
- 2. $ scope.my_model等於angular2?
- 3. Redux Angular2訂閱
- 4. angular2服務 - RXjs
- 5. Angular2訂閱不工作關於服務
- 6. 用於REST服務的Java中等效的異步頁面
- 7. OSGi聲明性服務ConfigurationPolicy.REQUIRE等效於白羊座藍圖
- 8. MySQL查詢日誌等效於Microsoft SQL服務器
- 9. 服務器端等效Window.Location.getParameter()的GWT
- 10. 使用lidgren從Windows服務/等效Application_Idle
- 11. 等效於WM_MOVE
- 12. Angular2:注射服務
- 13. Next.js和redux。在服務器端填充存儲不生效
- 14. Angular2將服務注入其他服務
- 15. Angular2測試服務 - undefined服務
- 16. Angular2:無法將服務注入服務
- 17. Tiff等效於UIImage.AsPNG()
- 18. IsNan等效於C
- 19. ifdef等效於TCL
- 20. fgets等效於C++
- 21. // @ sourceURL等效於CSS
- 22. __LINE__等效於Javascript
- 23. FileMakerPro等效於Linux?
- 24. ShellExecute等效於.NET
- 25. 等效於libmysqldev FreeBSD
- 26. DataInputStream.skip等效於C#
- 27. curl等效於C#
- 28. JRE等效於Python
- 29. .BAT等效於MAC
- 30. ob_get_contents等效於asp
大答案!我唯一要改變的地方就是把它們叫做「包裝/幫手」。我不相信有一個商定的術語,因爲我已經看到他們稱爲包裝,幫手,服務,客戶端,api和其他我不會重複的事情,因爲他們沒有多大意義。 –