Javascript 变量在赋值之前使用(TypeScript)

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

我试图从API返回的数组中获取ImgString,并将该字符串分配给photo对象的base64属性,但它显示此错误。我对react和tyescript/javascript还不熟悉,所以我不确定哪里出了问题

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)