我是新来的反应。我有一个用例,我必须缓存第三方服务器上的图像。(想要避免太多的服务器调用来每秒渲染图像)为此,我使用react-native-web
我的应用程序是一个反应网络应用程序。代码片段是:
import { Image } from 'react-native-web';
class ImageComponent extends Component {
componentWillMount() {
const interval = setInterval(() => { this.timer(); }, 2000);
this.setState({ interval });
const urlOfImages = ['https://homepages.cae.wisc.edu/~ece533/images/mountain.png'];
const preFetchTasks = [];
urlOfImages.forEach((url) => {
preFetchTasks.push(Image.prefetch(url));
});
}
render() {
const images = ['https://homepages.cae.wisc.edu/~ece533/images/mountain.png'];
const text = 'something';
return (
<div>
<span>{ text }</span>
<Image source={{ uri: images[0] }} alt="Banner" title="Banner" border="0" />
<Image source={{ uri: images[0] }} alt="Banner" title="Banner" border="0" />
<Image source={{ uri: images[0] }} alt="Banner" title="Banner" border="0" />
<Image source={{ uri: images[0] }} alt="Banner" title="Banner" border="0" />
</div>
);
}
}
通过网络选项卡,我可以看到只有一个请求从服务器下载图像。这是 Image 标签所期望的,但没有任何 Image 被呈现在浏览器上。
任何人都可以直接解决图像标签没有被渲染的问题,或者有没有更好的方法来使用反应缓存来自服务器的图像?