How to get current value of State object with @ngrx/store?

后端 未结 10 1518
失恋的感觉
失恋的感觉 2020-12-08 06:13

My service class, before calling a web service, needs to get a property called dataForUpdate from my state. Currently, I\'m doing it like this:



        
10条回答
  •  我在风中等你
    2020-12-08 07:00

    Extra comment. When I use this._store.value.StateReducer.currentPeriod.id

    Transpiler return "app/state/stateService.ts(133,35): error TS2339: Property 'StateReducer' does not exist on type 'AppState'."

    constructor ( public _store: Store) {
    
        const store$ =  this._store.select ('StateReducer');
    
        .../...
    
    
        let saveTransaction = this.actions$
                      .filter (action => action.type==SAVE_TRANSACTION )
                      .map (action => { return { type:SAVING_TRANSACTION, payload : action.payload };  } )
                      .mergeMap ( action => this._transactionService.updateTransaction (
                                                                this._store.value.StateReducer.currentProfile.id, 
                                                                this._store.value.StateReducer.currentPeriod.id, 
                                                                action.payload),
                                    (state, webServiceResponse) =>  { return { type:TRANSACTION_UPDATED, payload :null  }; }) ;
    
    
    
    
    
    }
    

    To fix issue, I have changed BehaviorSubject.d.ts in rxjs\subject folder :

    import { Subject } from '../Subject';
    import { Subscriber } from '../Subscriber';
    import { Subscription } from '../Subscription';
    export declare class BehaviorSubject extends Subject {
        private _value;
        private _hasError;
        private _err;
        constructor(_value: T);
        getValue(): T;        
        value: T;             <=== I have changed it to value: any;
        _subscribe(subscriber: Subscriber): Subscription;
        _next(value: T): void;
        _error(err: any): void;
    }
    

    Not sure if it's a legit modification ;)

提交回复
热议问题