Я установил axios как с npm, так и с типом.Проблема с DefenitelyTyped of axios
Теперь, чтобы использовать его в TypeScript, мне нужно передать ему тип (T). Проблема в том, что этот T используется как для интерфейса запроса, так и для интерфейса ответа, что не имеет никакого смысла, потому что, очевидно, сервер не возвращает тот же тип данных, который он получает.
interface ServerRepsonse {
userID: string;
}
interface ServerRequest {
username: string;
password: string;
}
var body = {
username: "username",
password: "password"
};
let response = await axios<ServerRequest>({
method: 'POST',
url: "http://localhost:3000/users",
data: body
});
alert(response.data.userID);
Как вы можете видеть, в этом примере reponse.data.userID будет помечен как ошибка. Если я передал интерфейс ServerResponse, тогда «data: body» будет помечен как ошибка.
Это проблема в файле index.d.ts axios? Как я могу это решить? Я не хочу использовать «any».
Есть причина, почему вы не делаете используйте файл определения, который включен в проект [axios] (https://github.com/mzabriskie/axios/blob/master/index.d.ts)? –