Проблема здесь в том, что Typescript не знает тип dispatch
. Это может быть что угодно, поскольку Typescript знает, что это просто какой-то случайный аргумент функции и может иметь тип any
. Вам нужно объявить его как правильный тип, а Typescript сможет вывести остальное:
const LOGIN = "LOGIN";
type LoginAction = {
type: typeof LOGIN
}
const login = (user, pass) => (dispatch: React.Dispatch<LoginAction>) => dispatch({type: 'LOGIN'});
Обратите внимание, что для действия входа в систему также должен быть объявлен тип, потому что он передается в generi * Тип 1012 * React.Dispatch
, чтобы Typescript знал, какой тип он отправляет.
Вам может понадобиться установить пакет @types/react-redux
, чтобы получить тип React.Dispatch
, я не уверен, откуда он с макушки головы.