Javascript 变量在赋值之前使用(TypeScript)
我试图从API返回的数组中获取ImgString,并将该字符串分配给photo对象的base64属性,但它显示此错误。我对react和tyescript/javascript还不熟悉,所以我不确定哪里出了问题Javascript 变量在赋值之前使用(TypeScript),javascript,typescript,Javascript,Typescript,我试图从API返回的数组中获取ImgString,并将该字符串分配给photo对象的base64属性,但它显示此错误。我对react和tyescript/javascript还不熟悉,所以我不确定哪里出了问题 import { useState, useEffect } from "react"; export function getImages () { const [photos, setPhotos] = useState<Photo[]>([]); const G
import { useState, useEffect } from "react";
export function getImages () {
const [photos, setPhotos] = useState<Photo[]>([]);
const GetPhotoURL = "***"
useEffect(() => {
const loadSaved = async () => {
const data = await axios.get(GetPhotoURL)
.then(res => {
const photos = [] as Photo[];
for (let i = 0; i <= res.data.length; i++) {
var photo: Photo;
photo.base64 = `data:image/jpeg;base64,${res.data[i].ImgString}`;
photos.push(photo);
}
setPhotos(photos);
})
};
loadSaved();
}, []);
return {
photos,
};
}
export interface Photo {
base64?: string;
}
从“react”导入{useState,useffect};
导出函数getImages(){
const[photos,setPhotos]=useState([]);
const GetPhotoURL=“***”
useffect(()=>{
const loadSaved=async()=>{
const data=wait axios.get(GetPhotoURL)
。然后(res=>{
常量照片=[]作为照片[];
对于(假设i=0;i您的photo
变量在写入时声明但未赋值(因此在“赋值”之前出现错误-“已使用”):
您应该写以下内容:
var photo: Photo = {}; // declaration + assignment
photo.base64 = `data:image/jpeg;base64,${res.data[i].ImgString}`;
photos.push(photo);
或
你可以看报纸
var photo: Photo = {}; // declaration + assignment
photo.base64 = `data:image/jpeg;base64,${res.data[i].ImgString}`;
photos.push(photo);
var photo: Photo = {
base64: `data:image/jpeg;base64,${res.data[i].ImgString}`,
} // declaration + assignment
photos.push(photo)