在加载时,我收到了我想从用户视图中隐藏的图像 URL 列表。
我也有一个包含所有原始图像 URL 的数组。
我想创建一个没有隐藏图像 URL 的新数组。
我正在使用该array.filter()函数,但它没有从数组中删除 URL。
我认为这是我加载函数的方式,因为隐藏的图像最初是空的,然后它再次加载并且它在那里有它的值,但我不确定我没有做什么来让它正常工作。
感谢您的任何见解。
useEffect(() => {
async function getImage(jobID) {
const imageURL = await Storage.list(`${jobID}/completed/`);
let imagesAsArray = [];
for (let i = 0; i < imagesToDownload.length; i++) {
const imagesDownloaded = await getURLFromS3(imagesToDownload[i]);
imagesAsArray.push(imagesDownloaded)
}
return imagesAsArray
}
async function onLoad() {
try {
const downloadedImage = await getImage(job);
if (hiddenImages !== null) {
hide(downloadedImage)
} else {
setImages(downloadedImage);
}
} catch (e) {
alert(e);
}
}
onLoad();
}, [job]);
function hide(imagesToFilter) {
const ImagesToView = (imagesToFilter).filter(image =>(!image.includes(hiddenImages)));
console.log(ImagesToView)
setImages(ImagesToView);
}
hiddenImages值示例:
console.log(ImagesToView)

