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';」としてインポートしました。