如何解决从数组导入svg文件-React native
我有来自后端的svg图像列表,这些图像已下载并存储在用户的设备中,并且图像的路径作为数组存储在Asyncstorage中。
这是下载图像并存储在Asyncstorage中的代码
downloadStitches(AllStitches){
if(AllStitches.length > 0){
let downloadingStitchesImagelist = [];
AllStitches.forEach(async (dataimg,key) => {
let task = RNBackgroundDownloader.download({
id: dataimg._id,url: Images.StitchesPath+dataimg.image,destination: RNBackgroundDownloader.directories.documents+'/Knitrino/'+dataimg.image
}).begin((expectedBytes) => {
// console.log(`Going to download ${expectedBytes} bytes!`);
}).progress((percent) => {
// console.log(`Downloaded: ${percent * 100}%`);
}).done((res) => {
// console.log('Download is done!',res);
let svgobj = {
'_id': dataimg._id,'url': Platform.OS == 'android'
? `file://`+RNBackgroundDownloader.directories.documents+'/Knitrino/'+dataimg.image
: RNBackgroundDownloader.directories.documents+'/Knitrino/'+dataimg.image,'updatedAt': dataimg.updatedAt
}
downloadingStitchesImagelist.push(svgobj);
if(key == AllStitches.length - 1){
this.storeDataToStorage(downloadingStitchesImagelist);
}
}).error((error) => {
console.log('Download canceled due to error: ',error);
});
})
}
}
storeDataToStorage(downloadingStitchesImagelist){
AsyncStorage.setItem('DownloadedStithesList',JSON.stringify(downloadingStitchesImagelist));
}
我有一个网格,在该特定位置要渲染特定图像,我必须将svg图像渲染为文件而不是url。 那么我们如何从Asyncstorage数组导入svg图像?我正在使用react-native-svg包来呈现svg文件。如果必须将svg渲染为文件,则必须首先导入图像,然后将其用作类似于以下代码的组件。
import logo from "./logo.svg";
<logo width={120} height={40} />
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。