我正在尝试将我的axios Get
方法变成一个generic method
,这样我就可以在任何需要它的地方重用它。
我在如何使它工作上遇到了一点麻烦。我给你看些代码
axios.get(`${urlUser}?userName=${getUserName()}`)
.then((response: AxiosResponse<userProfile>) => {
setProfile(response.data);
})
这是我试图转换为泛型方法的get方法。Url和状态函数setProfile
可以作为参数传入,但userProfile
模型需要是泛型的。
export const Get = <T>(url: string, setState: any, Response: T) => {
axios.get(url)
.then((response: AxiosResponse<T[]>) => {
setState(response.data);
})
}
下面是转换后的通用代码。但是,这不起作用,因为在AxiosResponse
中,我需要为响应传递某种模型。
我尝试向函数中添加一个通用的Response
参数,但是将Response
添加到AxiosResponse<>
中不起作用
我不认为我离得太远了,有什么办法解决这个问题吗?
多谢
2条答案
按热度按时间wljmcqd81#
解决方案
Get函数,其中调用
uelo1irk2#
你可以像这样使用泛型: