React Native,动态更改图像uri - 图像不会更改

时间:2016-05-26 04:28:25

标签: javascript reactjs react-native

我通过一组对象进行映射,每个对象都有自己的图像路径:

this.props.images = [{url:'myimage.png'},{url:'myimage.png'},{url:'myimage.png'}];

在我的渲染中,我有类似的东西:

this.props.images.map((img) => { return (<Image source={uri: img.url} />)};

这很好用,图像出现了。但是,当我动态重新排序图像阵列时,图像不会改变(而动态传输的样式确实会发生变化)。

需要注意的是,我的数组是通过redux管理的道具。因此,组件在更改时会重新呈现。为了测试这个,我使用onLayout回调登录到控制台,并验证每次状态改变时调用它(即使图像本身没有改变源)。

我认为它与图像本身的实例没有先被删除有关,但是数组对于导致元素重新排序的原因一无所知。

关于如何解决这个问题的任何想法?

2 个答案:

答案 0 :(得分:0)

也许您可以为图像添加密钥 this.props.images.map((img)=&gt; {return()};

答案 1 :(得分:0)

使用这个:-

 <Image source ={{uri : 'YourUrl'+ new Date() }}/>

添加 new Date() 对我有用