Axios获取无法分配给SetStateAction类型的参数的数据

9jyewag0  于 2022-11-23  发布在  iOS
关注(0)|答案(1)|浏览(300)

我正在构建我的第一个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时,它不再工作了。

mtb9vblg

mtb9vblg1#

您需要使用接口作为泛型参数

axios.get<InterfaceNameHere>().then(...)

相关问题