![](/img/trans.png)
[英]How to send-back some data from server to browser with fetch API's response body
[英]How to fetch large API data in react and send back request to server?
让我解释一下我想要实现的目标?
const [ imageLinkData, setImageLinkData ] = useState([]);
const [ imageLink, setImageLink ] = useState([]);
const [ additionalImageLink, setAdditionalImageLink ] = useState([]);
useEffect(() => {
const checkLink = async () => {
if (imageLinkData.length > 0) {
checkMainImage(imageLinkData, (resultImg) => setImageLink(resultImg)); // test main image link
checkAdditionalImage(imageLinkData, (resultImg) => setAdditionalImageLink(resultImg)); // test additional image link
const response = await getSuggList();
}
}
checkLink();
}, [imageLinkData])
const checkMainImage = (linkArray, callback) => {
linkArray.map(element => {
const img = new Image();
img.src = element.imageLink;
img.onload = () => {
setImageLink(element.imageLink);
callback(element.imageLink);
};
img.onerror = () => {
callback('donot');
};
});
}
const checkAdditionalImage = (linkArray, callback) => {
linkArray.map(element => {
element.additionalImageLink.map(addImage => {
const img = new Image();
img.src = addImage;
img.onload = () => {
return callback(addImage);
};
img.onerror = () => {
return callback('donot');
};
})
});
}
useEffect(() => {
// if (imageLink.length > 0 || additionalImageLink.length > 0)
console.log(imageLink);
}, [imageLink])
checkMainImage(imageLinkData, (resultImg) => setImageLink(resultImg)); // test main image link
checkAdditionalImage(imageLinkData, (resultImg) => setAdditionalImageLink(resultImg)); // test additional image link
在此setImageLink(resultImg)
和setAdditionalImageLink(resultImg)
中,您仅设置 json 数据中可用的最后一个值。
它不应该将值推送到imageLink
和additionalImageLink
数组吗?
像setImageLink([...imageLink, resultImg])
?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.