React Native:重复使用渲染图像

时间:2017-10-11 10:57:28

标签: javascript image react-native jsx

我正在尝试构建类似于" 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;
}

我怎样才能改善这一点,只加载一个图像,但多次显示它们(没有重新获取)?

1 个答案:

答案 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函数。