在我们的React Native项目中,我们在图像URL之后获得了带有签名密钥的图像URL。像http://my_bucket.s3.amazon.com/my_profile.jpg?signing_key=I_am_changeable_every_time
。
我们显示上述URL如下:
<ImageView source={{ uri: photo.uri }} />
我们想反应本机图像组件可以为我们处理图像缓存。虽然React Native Image组件每次都会加载图像。一个可能的原因是,React Native Image组件实际上没有任何缓存功能。
然后,我们正在尝试找到一些外部反应图像库库。
但是,如我的理解,几乎所有图像缓存库都将整个图像URL视为缓存键。如果我们的图像具有签名_key参数,该怎么办,该签名会随着时间的流逝而变化
我们已经考虑使用 image_path 而不是 image_full_url 或在我们的业务上下文中作为缓存键中的image_id。虽然我们没有找到任何可以赋予我们这种能力的库。
我的问题是:我们如何处理可更改的图像URL缓存,您推荐任何库吗?
谢谢!
尝试反应本形图像。您可以告诉它忽略查询参数。
type ImageCacheManagerOptions = {
headers: PropTypes.object, // an object to be used as the headers when sending the request for the url. default {}
ttl: PropTypes.number, // the number of seconds each url will stay in the cache. default 2 weeks
useQueryParamsInCacheKey: PropTypes.oneOfType([ // when handling a URL with query params, this indicates how it should be treated:
PropTypes.bool, // if a bool value is given the whole query string will be used / ignored
PropTypes.arrayOf(PropTypes.string) // if an array of strings is given, only these keys will be taken from the query string.
]), // default false
cacheLocation: PropTypes.string, // the path to the root of the cache folder. default the device cache dir
allowSelfSignedSSL: PropTypes.bool, // true to allow self signed SSL URLs to be downloaded. default false
};