我正在构建我的第一个TypeScript应用程序,它来自JavaScript背景。
我仍然在思考如何声明类型,但是我又遇到了当前的问题。
我的代码如下所示,我得到的当前错误是:
类型'Promise〈AxiosResponse〈any,any〉〉'的参数无法指派给类型'SetStateAction'的参数。
//interface File
export default interface InterfaceNameHere {
author?: string;
date?: number;
title?: string;
__v?: number;
_id?: string;
dataArray?: Array<IAnotherInterface>;
}
//component
const [returnedSearch, setReturnedSearch] = useState<InterfaceNameHere >({});
useEffect(() => {
axios
//NOTE: I have also tried .get<Promise<{data: InterfaceNameHere}>> and it still throws an error
.get<Promise<AxiosResponse>>(
`URLGOESHERE`
)
.then((res) => {
setReturnedSearch(res.data);
})
.catch((err) => {
//error handling here
});
}, []);
我以前有axios.get
,当然它工作得很好
但是当我试图声明Type时,它不再工作了。
1条答案
按热度按时间mtb9vblg1#
您需要使用接口作为泛型参数