TypeScript-获取包节点模块中的类型接口



问题

例如,我会使用一个新的AxiosInstance,比如:

import axios from "axios";
const api = axios.create({
baseURL: process.env.REACT_APP_BASE_URL || "http://localhost:8888"
})
class Service {
mainService = api;
}

然后我想将changeService方法添加到上面的Service类中:

class Service {
mainService = api;
changeService(api) {
this._service = api;
}
}

由于changeService(api),这将触发对TypeScript的类型检查。

问题

因为axios.create()将返回一个AxiosInstance。作为TypeScript的新手,我正在考虑尝试获得axios包的AxiosInstance接口类型。

我怎样才能做到这一点?或者有更好的方法来处理这种情况吗?

您只需将其添加到从axios模块导入的内容中即可。

import axios, { AxiosInstance } from "axios";

然后像这样使用:

class Service {
mainService = api;
changeService(api: AxiosInstance) {
this.mainService = api;
}
}

参见游乐场

最新更新