2017-07-01 92 views

回答

0

我真的很喜歡使用Redux Observable史詩般的方法。這使您可以在Redux商店中分配一個動作,這樣可以使用史詩來發生副作用。由於行動是DTO,它們已經被抽象出來了。你可以這樣定義一個HTTP_ACTION:

{ 
    type: 'HTTP_REQUEST', 
    payload: { 
    method: 'POST', 
    url: '/api/some-url', 
    body: { 
     id: 'some-id' 
    }, 
    responseAction: 'HTTP_REQUEST_COMPLETED' // Some unique action type here that will be caught by a reducer. 
    } 
} 

這種方法有很多優點。它將動作創作者從任何副作用中分離出來。這使得它們易於測試。它還將所有的副作用放在應用程序的一部分:史詩。這是因爲Redux Observable取代了Redux中的所有其他副作用中間件(如redux-thunk或redux-promise)。這可以讓你根據平臺特定的東西來替換史詩。

缺點是你需要學習rx-js,這可能有點困難。測試史詩也有點複雜,但完全可行。

顯然,還有其他解決方案可用。但你至少應該看看這個,看看它是否適合你。祝你好運。

+0

非常感謝,我來看看 –

相關問題