簡體   English   中英

與Axios apis一起使用時,Redux-Thunk和Redux-Promise有什么區別?

[英]What are the differences between Redux-Thunk and Redux-Promise when used with Axios apis?

幾個月以來,我一直在使用React,Redux。 生態系統中最令人困惑的部分之一是異步數據流。 有很多很好的解決方案,為您的問題選擇合適的解決方案是困難的部分。

在我的應用程序中,動作創建者大多數都有異步axios [ajax]調用我的后端apis。 將Redux-Promise注入中間件可以解決異步數據流的問題。

考慮到可擴展的應用程序,我可能需要在我的動作創建者中鏈接多個axios調用。 我想我仍然可以使用Redux-Promise作為中間件,這將在我的應用程序中處理異步數據流。

一般來說,團隊更傾向於使用Redux-Thunk,我覺得這個問題的語法更復雜。 考慮到我的大多數動作創建者只進行了axios調用(promises),我需要在評估這兩個框架時提出建議。 我見過的討論了大量的終極版-咚這里 我明白thunk是如何有用的。 但是當我只使用Promises時,我需要更多的澄清來評估Redux-Promise和Redux-Thunk。 哪種中間件在這種情況下更好?為什么? 使用Redux-Thunk而不是Redux-Promise可以獲得哪些優勢? 或者沒有?

Redux Promise可以方便地調度三個操作(請求,成功,失敗),而無需手動編寫該代碼。

當您將一個動作創建者表示為等待另一個動作創建者時,Redux Thunk可以方便異步數據流。 它還允許您讀取條件派遣和早期救助的當前狀態。

您可以一起使用它們,也可以特別使用任何一種。 我建議從Redux Thunk開始,因為它提供更多控制並且更通用。 在使用它之后,您可以考慮添加 Redux Promise來刪除一些與調度三種操作相關的樣板代碼。 如果您發現它不會對您造成太大影響,請將其刪除。 另一方面,如果您注意到所有thunk動作創建者只發送一個承諾,您可以刪除Redux Thunk。

如果這仍然令人困惑,我建議您使用Redux Thunk,直到您對中間件的工作方式更加滿意為止。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM