簡體   English   中英

從 angular observable ngrx/store 獲取對象

[英]Get object from angular observable ngrx/store

我在從 @ngrx/store 獲取對象時遇到問題。 這段代碼運行了很長時間,但現在似乎壞了,我不知道為什么。

要存儲的對象具有以下結構:

export class UserInfo {
  user: string;
  token: string;
  permissions: string[];
}

此函數將我的對象保存到商店:

saveUserInfo(userInfo: UserInfo) {
    this.store.dispatch(new UserInfoActions.Save(userInfo));
}

現在,當我嘗試像這樣從商店取回對象時:

userInfoStore$: Observable<UserInfo>;
constructor(private store: Store<AppState>) {
    this.userInfoStore$ = this.store.select('userInfo').subscribe(user => {
      console.log(user)
    });
}

所需的輸出類似於

{user: "username", token: "token", permissions: []}

但輸出是:

{0: "{", 1: "\"", 2: "u", 3: "s", 4: "e", 5: "r", 6: "\"", 7: ":", 8: "\"", 9: "u", 10: "s", 11: "e", 12: "r", 13: "n", 14: "a", 15: "m", ...}

這里發生了什么? 有什么改變了observables工作方式嗎?

Angular v9.1.0 @ngrx/store v9.0.0

這背后的原因是您的減速器正在返回字符串化的userInfo 檢查您從 API 接收的userInfo和您從中返回 userInfo 的減速器。

暫無
暫無

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

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