无法使用redux-observable和Typescript发布请求

时间:2019-07-16 10:09:03

标签: reactjs typescript redux-observable

我正在尝试使用Redux,redux-observable和Typescript在React中进行POST请求。 (这是我第一次使用redux-observable和Typescript只是为了让大家知道我来自哪里...。)我无法使它继续运行,并且不断显示Typescript错误。 而且我在这里呆了几个小时...请我帮忙!

在使用Axios功能之前,一切正常。参见下面的代码:

  const locationEpic: Epic<Action, Action, RootState> = action$ =>
  action$.pipe(
    filter(isActionOf(actions.setLocation)),
    map(action => {
      const { payload } = action;
      return { type: LOCATION_SET, payload}
    }
  ));

发布请求的帮助:

interface LocationState {
  path: string;
  name: string;
}
interface AxiosResponse {
  data: LocationState;
}
const postData = (data: any) => {
  return axios.post<AxiosResponse>(baseURL, data)
  .then((res: any) => {
    console.log('post', res.data);
  })
  .catch((err: any) => {
    console.error(err);
  });
};

有问题的史诗:

const locationEpic: Epic<Action, Action, RootState> = action$ =>
  action$.pipe(
    filter(isActionOf(actions.setLocation)),
    switchMap(action =>
      from(postData(action.payload)).pipe(
        map(actions.setLocation(action.payload)
    ))
  ));

我不断收到此错误:

  

类型“可观察”不能分配给类型“可观察” <{   类型:“ @@ location / SET”;有效负载:LocationState; }>'。输入“未知”   不能分配给类型'{type:“ @@ location / SET”;有效载荷:   LocationState; }'。

0 个答案:

没有答案