2015-10-16 78 views
7

我有幾個關於redux的問題real-world exampleRedux關於真實世界示例的問題

  1. 不像async example其中Ajax調用直接使用派遣做出,真實世界的例子使用的中間件來處理這個問題。在反應應用程序中使用redux時,推薦哪種方法?爲什麼?

    我的猜測是中間件是可重複使用的,所以如果需要進行多個ajax調用,只要不同的api路徑作爲參數傳入,一個調用中間件的通用ajax就足夠了。但同樣的東西可以說是派遣...

  2. 什麼時候中間件得到執行?通過查看源代碼並閱讀文檔,我的理解是:dispatch an action -> all middlewares get executed , ajax calls can be made here and the returned json data can be put inside the action object and pass it onto the reducers-> reducers get executed。我對麼?

回答

8

不像Ajax調用direactly使用派遣由異步例如,真實世界的例子使用的中間件來處理這個問題。在反應應用程序中使用redux時,推薦哪種方法?爲什麼?

使用你喜歡的。不同的人有不同的喜好。有些人想要像中間件提供的簡潔代碼,有些則喜歡明確性和稀疏性。

什麼時候中間件得到執行?通過查看源代碼並閱讀文檔,我的理解是:調度一個動作 - >所有中間件得到執行,可以在這裏創建ajax調用,並且可以將返回的json數據放入動作對象中並將其傳遞到reducer-減速器得到執行。我對麼?

這聽起來沒錯。每個中間件都可以是異步的,並將動作傳遞給下一個中間件。當他們到達減速機時,他們需要是簡單的物體。 Async FlowMiddleware文檔提到這一點。

+4

謝謝丹!我沒想到能從Redux的作者那裏得到答案!我從包含在redux-master回購中的例子中學到了很多,非常感謝! – Cheng