Тип «Отправка <RootState>» не может быть назначен типу «Отправка <AnyAction>» - PullRequest
0 голосов
/ 24 апреля 2018

Привет, я пытаюсь использовать Redux с угловой. но у меня появляется это сообщение об ошибке при попытке запустить мое угловое приложение:

ОШИБКА в node_modules/@angular-redux/store/lib/src/components/ng-redux.d.ts (10,31): ошибка TS2420: класс NgRedux неправильно реализует интерфейс ObservableStore. Типы имущества «рассылка» несовместимы. Тип «Отправка» не может быть назначен типу «Отправка». Тип 'RootState' нельзя назначить типу 'AnyAction'. node_modules/@angular-redux/store/lib/src/components/ng-redux.d.ts (37,33): ошибка TS2344: тип 'RootState' не удовлетворяет ограничению 'Action'. node_modules/@angular-redux/store/lib/src/components/root-store.d.ts (18,24): ошибка TS2344: тип 'RootState' не удовлетворяет ограничению 'Action'. node_modules / redux-observable / index.d.ts (32,56): ошибка TS2344: тип 'S' не удовлетворяет ограничению 'Dispatch'.

мой редуктор:

export default function reducer(state= {
  persones: [],
  selectedPersone: {},
}, action) {
  let newState;
  switch (action.type) {
    case 'GET_PERSONNES':
      newState = { ...state, persones: action.payload };
      break;
    case 'SELECT_PERSONNE':
      newState = { ...state, selectedPersone: action.payload };
      break;
    case 'POST_PERSONNES':
      newState = { ...state, selectedPersone: action.payload };
      break;
    case 'PUT_PERSONNES':
      newState = { ...state, selectedPersone: {} };
      break;
    default:
      newState = state;
      break;
  }
  return newState;
}

мой индекс редуктора:

import { combineReducers } from 'redux';

import personnes from './personnes';

export default combineReducers({
  personnes,
} as any);

и мой магазин:

import { createStore, applyMiddleware, Store } from 'redux';
import logger from 'redux-logger';
import { createEpicMiddleware } from 'redux-observable';
import { Observable } from 'rxjs';
import reducers from './reducers';
import 'rxjs';


const pingEpic = action$ =>
  action$.ofType('HTTP_GET')
    .debounceTime(500)
    .switchMap(action =>
      Observable.ajax.get(action.payload.url)
        .map((a:any) => {
          console.log(a);
          return { type: action.payload.action, payload: a.response };
        })
      );

const post = action$ =>
  action$.ofType('HTTP_POST')
    .debounceTime(500)
    .switchMap(action =>
      Observable.ajax.post(
        action.payload.url,
        action.payload.object,
      )
        .map((a) => {
          console.log(a);
          return { type: action.payload.action, payload: a.response };
        })
     );  

const put = action$ =>
  action$.ofType('HTTP_PUT')
    .debounceTime(500)
    .switchMap(action =>
      Observable.ajax.put(
        action.payload.url,
        action.payload.object,
      )
        .map((a) => {
          console.log(a);
          return { type: action.payload.action, payload: a.response };
        })
    );


const epicMiddleware = createEpicMiddleware(pingEpic);
const postMidelWare = createEpicMiddleware(post);
const putMidelWare = createEpicMiddleware(put);
export const middleware = applyMiddleware(logger, epicMiddleware, postMidelWare, putMidelWare);

export const store: Store<IAppState> = createStore(reducers, middleware);

Вы можете мне помочь?

спасибо тебе :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...