Правильное использование типа Typescript Promise в асинхронных / ожидающих методах - PullRequest
0 голосов
/ 31 марта 2020

Я сталкиваюсь с некоторыми трудностями при попытке уничтожить объект, возвращаемый из вызова THUNK asyn c api. Фактическая ошибка:

Type '(dispatch: any, getState: any) => Promise<{ view: any[]; data: any[]; }>' has no property 'view' and no string index signature.

thunk:

export const fetchSomething = ({
  arg1, arg2
}) => async (dispatch, getState): Promise<{ view: any[]; data: any[] }> => {
  const { data } = await someApiCall({
    arg1, arg2
  })

  const { view, data } = await JSON.parse(data)

  return {
    view,
    data
  }
}

внутри компонента реакции:

const onSubmit = async (data) => {
  const { view } = await dispatch(fetchSomething(data))
//        ^
//        This is where error occurs
}

Может кто-нибудь помочь мне понять, что неправильно?

...