state.getState () не является функцией при обновлении до версии 4 - PullRequest
0 голосов
/ 08 января 2019

В настоящее время я работаю над переходом с 5 на 6. При обновлении до версии 4 я получаю сообщение об ошибке, поскольку store.getState () не является функцией

export interface IAppState {
    source1: IEmployee[],
    source2: IEmployee[],
}    
export type FSAction = FluxStandardAction<any, MetaData | null | number>;

это код для эпического промежуточного программного обеспечения. Здесь я сталкиваюсь с проблемой, так как store.getState () не является функцией при обновлении до redux 4

employeeValues_Epic: Epic<FSAction, IAppState> = (action$, store) => action$
.ofType(APP_Actions.ActionTypes.APP_EMPLOYEE_VALUES).pipe(
  switchMap(data => {  
       let state1: IEmployee[] = [];
       try {
            console.log("in All domain  iteration");
            state1 = store.getState().source1.state;        
       } catch (error) {
           console.error(error);
    }
    return observableFrom(state1);
  }));`

В настоящее время я работаю над переходом с 5 на 6. При обновлении до версии 4 я получаю сообщение об ошибке, так как store.getState () не является функцией

Ответы [ 2 ]

0 голосов
/ 22 января 2019

Прочтите документацию по миграции. https://redux -observable.js.org / MIGRATION.html # accessing-state

Предполагается, что наблюдаемый редукс v1 и rxjs v6.

  • Вместо store$.getState() он обновился до store$.value.
  • Заменить Observablefrom на from. (от 5 до 6)
  • ofType должно быть в трубе.
const employeeValues_Epic: Epic<FSAction, IAppState> = (action$, store$) => action$
.pipe(
  ofType(APP_Actions.ActionTypes.APP_EMPLOYEE_VALUES),
  switchMap(data => {  
       let state1: IEmployee[] = [];
       try {
            console.log("in All domain  iteration");
            state1 = store$.value.source1.state;        
       } catch (error) {
           console.error(error);
       }
       return from(state1);
  }));

0 голосов
/ 16 января 2019

Здесь после обновления до Redx 4 и RXJS 6 синтаксис был изменен, как показано ниже, а функция getState () была изменена на свойство value.

`employeeValues_Epic: Epic<FSAction, FSAction, IAppState, any> = (action$, store) => action$
.ofType(APP_Actions.ActionTypes.APP_EMPLOYEE_VALUES).pipe(
  switchMap(data => {  
       let state1: IEmployee[] = [];
       try {
            console.log("in All domain  iteration");
            state1 = store.value.source1.state;        
       } catch (error) {
           console.error(error);
    }
    return observableFrom(state1);
  }));`
...