React Native - 图像是否需要始终转换为相同的整数?

时间:2018-06-05 04:09:06

标签: reactjs react-native assets require

在我的涉及加密货币的本机应用程序中,我有一个名为coinImageUrls的全局redux状态,具有以下结构:

coinImageUrls = {
  BTC: 'https://coin-image-url/btc.png',
  ETH: 'https://coin-image-url/eth.png',
  ABC: 31,
}

当我Image.prefetch缓存远程图像时,会填充此对象。如果图片网址有效,我会按原样存储网址字符串。但是,如果prefetch因图片网址无效而失败,我会使用require的本地回退图片。代码的要点是这样的:(显然不是原始代码,因为coinImageUrls在redux中)

Image.prefetch(imageLink)
  .then(() => {
    coinImageUrls[coinSymbol] = imageLink
  })
  .catch(() => {
    coinImageUrls[coinSymbol] = require('../assets/fallback-image.png')
  })

最后,通过检查图像是字符串还是整数来加载图像。

typeof coinImageUrls[coinSymbol] === 'string'
  ? <Image source={{uri: coinImageUrls[coinSymbol]}} />
  : <Image source={coinImageUrls[coinSymbol]} />

这里的关键点是,对于每个硬币符号,整个预取只会发生 ONCE 。这意味着硬币ABC分配给31的时刻(从require转换而来),它永远不会改变。

所以我的问题是,数字31会改变吗?如果确实可以确保require始终转换为相同的整数?这甚至是生产环境中的一个问题吗?

0 个答案:

没有答案