我正在尝试构建类似于" Logo Wall"的东西,但可能(通常是)相同的图像。渲染它们时,即使已经提取了相同的图像URL,它们也将分别加载。
这是我的代码:
#include <iostream>
using namespace std;
double litreUsed();
double litreToGallon();
int main()
{
litreUsed();
litreToGallon();
return 0;
}
double litreUsed() {
double litre;
cout << "Enter the amount of gasoline used: \n";
cin >> litre;
return litre;
}
double litreToGallon() {
double litre, double gallon;// Line 24
gallon = litre * 0.264179;
return gallon;
}
我怎样才能改善这一点,只加载一个图像,但多次显示它们(没有重新获取)?
答案 0 :(得分:0)
您确定图像会再次被抓取吗?您是否检查了网络活动以进行验证?如果反应本地人还没有做一些缓存,我会有点惊讶,但我会假设他们不是为了你的答案的好处,因为那里有解决方案,如......
https://github.com/kfiroo/react-native-cached-image
如果你使用这个包,你只需要替换......
<Image
key={key}
source={{uri: logoUrl}}
style={styles.logo}
/>
带
<CachedImage
key={key}
source={{uri: logoUrl}}
style={styles.logo}
/>
但请确认是否实际发生了多余的提取并让我们知道。此外,此软件包使用本机模块,因此它假定您愿意从expo(或CRNA)中弹出,或者使用基于标准react-native init
的应用程序。你没有提到你正在使用的是什么。如果您需要基于javascript的解决方案,那么您可以尝试memoizing renderLogo
函数。