簡體   English   中英

我們可以在 ngrx 中將實體注冊到全球商店嗎? 那可能嗎?

[英]can we register entity to global store in ngrx? is that possible?

如果我們在我們的全球商店實體,那會很好嗎?

我有一些 crud 操作,使用 @ngrx/entity 很容易完成,我想把它放在根存儲中。

我試過創建一個實體,但原理圖是為 forFeature() 做的。

NgRx 實體基本上是一個字典,具有匹配的 NgRx 運算符以更新/讀取。
例如,您始終可以在任何可以存儲字符串的商店中持有實體 Object。 如果您只需要一個實體 Object,則可以通過擴展商店來實現

export interface State extends EntityState<User> {
    ...
}

或者您可以在商店中創建實體對象,例如

export interface State {
  users: EntityState<User>;
  books: EntityState<Book>;
}

您可以通過兩種方式使用適配器。 對於擴展版本,將整個State傳遞給適配器。 對於第二種方法,將用戶屬性傳遞給適配器方法並將結果設置為 state 中該屬性的新值。

編輯
要更新實體 object,使用適配器。 創建一個適配器並在減速器中使用它。 有關它的更多信息和代碼示例可以在https://ngrx.io/guide/entity/adapter找到

// adapter definition
export const userAdapter: EntityAdapter<User> = createEntityAdapter<User>();

// reducer call for extended state / first version
on(UserActions.setUsers, (state, { users }): State => userAdapter.setAll(users, state)),

暫無
暫無

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

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