2017-04-27 122 views
0

我已经实现了一个React Native组件,它显示从远程服务器加载的图像。用户可以将图像从屏幕上滑出以导航到从远程服务器再次加载的下一个图像。在加载第二个图像时,旧图像仍然可以在屏幕上看到。加载新来源时隐藏图像

我希望加载下一张图像时旧图像消失。任何暗示如何实现这一目标?

支柱defaultSource仅适用于初始渲染(显示第一幅图像)但不适用于连续图像。所以我猜React会重新使用引擎盖下的Image。我玩过onLoadStartonLoadEnd,但我不知道如何重置旧图像的来源。

有什么想法?

谢谢。

+0

一个基本的方法是将当前图像存储在一个状态,比如currentImage,并在加载新图像时进行更新,以强制重新渲染。 –

回答

2

为每张图片添加一个独特的key道具。它可以是数字或字符串。这将阻止React重新使用这些元素。

+0

谢谢。这正是我所期待的!只要在重新渲染图像时键改变,旧图像立即消失。 –