0

ngrx.store と states を使用すると、バグ (?) に直面しています。

新しい状態をディスパッチすると、リデューサーが新しい状態を返した後、何も起こりません。サブスクライブはエラーメッセージを受け取りません。 switchMap を削除すると、コードが機能し、サブスクライバーは取得すべき値を取得します。

コードをできる限り最小化しました。

public a$:Observable<any>;
  constructor(private _userService:UserService, private _store:Store<any>)
  {
    this.a$=this._store
      .select(state=>state)
      .switchMap(state=>
      {
        return Observable.from(["1"]); //for simplicity.
      });
    this.a$.subscribe(
      something=>{
        console.log(something);
      },
      error=>{
        console.log(error);
      }
    );
  }

私の減速機:

export const connectedUserReducer = (state = initialState, action:Action) =>
{
  if(action==null || action.type==null)
    return state;
  switch (action.type) {
    case updateConnectedUser:
      return Object.assign({},state);  <<<-- It comes here and then nothing  heppends.<<--
    default:
      return state;
  }
};

switchMap を「import 'rxjs/add/operator/switchMap';」としてインポートしました。

4

1 に答える 1