我们正在iOS应用程序和我们的网站上显示一些图像(反应),这些图像是从外部网站加载的。数据(json)由我们的烧瓶后端提供。
有没有办法在我们的服务器上缓存图像,只在图像不在缓存中时才从远程加载它们?
答案 0 :(得分:1)
我在SPA工作中做过类似的事情,我个人会利用HTML本地存储或redux
等机制来存储图像数据。在react
容器中,您可以检查商店中是否已有图片;如果你这样做,那么抓住它,否则通过一些HTTP请求(或者然后)检索它,然后存储它。我会在react
的{{1}}函数中执行此工作,因为我相信这是启动此类任务的首选位置。
我使用componentDidMount
完成了类似的缓存(来自Web API的json数据),以下是非常简化的示例:
redux
我的// Note: redux actions and state added to props
componentDidMount: function() {
// check if we have the data in the redux store
if (this.props.actions.getData && this.props.data != null) {
this.props.actions.getData();
}
}
商店状态中的data
对象(或其任何可能的对象)被放入此容器redux
中。安装组件时,我会检查数据是否为缓存(可能是通过访问我的SPA中加载它的其他页面)。如果是,我只是使用props
中的数据,否则我会调用我的this.props.data
操作redux
获取数据,将其存放到我的商店,并启动重新呈现getData()
1}}组件。
一些链接:
Web storage APIs
Redux