1
在使用終極版(具有NGRX店內)的角4的應用程序,我有以下:Angular4 + Redux:誰應該派遣行動?
調用一個服務
this.contentService.update(this.content).subscribe(data => {
//output some success message
});
調用的API的服務的智能組件,然後分派動作
update(content: Content) {
return this.http.put(`http://someendpoint/contents.json`, { content })
.map((updated_content: Content) => {
this.store.dispatch({ type: 'SOME_KEY', payload: updated_content } );
return updated_content;
});
}
這種方法工作得很好,沒問題。但是我不知道這是否是正確的方法:讓組件處理API的響應並將該操作發送到商店會更好嗎?我應該分開這個嗎?優缺點都有什麼?我找不到一篇關於此的好文章。
感謝您的評論!我想我會遵循這種方法將邏輯從我的服務中分離出來,也許使用效果(應用程序開始非常「小」,所以我不認爲使用它會有很多好處,但現在它正在增長,也許是時候使用了他們)。 :-) –
我同意,效果是調用服務的地方。 –
正如我所說:有_no通用真正的解決方案_ - 重構總是涉及風險,並且通常需要相當多的努力 - 如果您是唯一開發應用程序的開發人員,並且如果它低於50個文件,我個人不會投資時間並保持原樣 - 使用@ Effect可能會發現其他可能會讓你煩惱的事情,它會令人神奇地變得更好;-)(儘管它可能更乾淨,但肯定會有更多工作) – olsn