![](/img/trans.png)
[英]How to trigger and NgRx action after 2 HTTP requests return values to the store
[英]ngrx - where to make web requests to update store after successful action
我目前正在使用ngrx 和nrg-entity。 如果響應不包含必須存儲的實體 object ,我想知道在成功的 web 請求后更新商店的最佳做法是什么。
例子:
// My state
export interface State extends EntityState<Book> {}
我提出了 web 請求來創建一本書。 從后端我只能得到創建書的 id。 默認情況下,您創建一個 reducer 將新創建的書放在您的商店中,如下所示:
createReducer(
initialState,
on(BookActions.createBookSuccess, (state, { book}) =>
bookAdapter.addOne(book, { ...state, creating: false })
));
我看到有兩個選項可以將新書還給減速器:
這些選項之一是移動的方式嗎? 或者,還有更好的方法?
我希望我能夠把我的問題說清楚。
有很多方法可以做到這一點,但我的直覺是讓效果觸發另一個獲取和設置下一個值的動作/效果。 所以你的第一個效果返回這樣的東西,
return [
..., //Whatever it already returns
LoadBookByIdEffect
]
然后您的 LoadBookIdEffect 會觸發一個 Action 來設置 state 中的賬面價值,
return SetBook({ book });
這是對像這樣將效果鏈接在一起的語法的更詳細說明,
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.