如何在失败时重新加载图像

jos*_*405 5 android image image-processing loadimage react-native

我想考虑加载图像的所有可能情况.

我的项目允许用户根据一些图像回答一些问题.在ANDROID中,我在加载这些图像的某些场合遇到了问题.这会产生很大的负面影响,因为用户不知道该回答什么.

示例代码:

<Image
    style={styles.imageBackground}
    source={{ uri: obj.question }}/>
Run Code Online (Sandbox Code Playgroud)

经过多次测试,它似乎因某些奇怪的原因而失败. 在这里看到了一些关于此的话题

无论如何(上面提到的或仅仅是在加载互联网连接的过程中失败),我希望能够重新加载图像.

在我看来,使用onError事件并在那里放置一些东西,这将允许我第二次设置源

<Image
    ref={'image' + key}
    style={styles.imageBackground}
    source={{ uri: obj.question }}
    onError={(e) => {
        this.refs['image' + key].setNativeProps({ src: [{ uri: obj.question }] })
    }} />
Run Code Online (Sandbox Code Playgroud)

里面的线onError对我不起作用.即使它有效,也应该考虑一些方面.例如,它可能导致无限循环,您必须有一个变量来控制该行在该onError行中的次数.

我想问一下这个想法是否有意义,或者他们是否还有其他更好的想法.

PDTA:

1)设置a defaultSource不是一个选项,因为它会严重影响ux.

2)所有图像应该没有问题地加载,因为它们先前存储在具有固定路径的服务器中.这使得图像无法加载.我能想到的唯一两种形状是我上面提到的形状