Image 图像:本地图像的动态路径

Image 图像:本地图像的动态路径,image,react-native,expo,Image,React Native,Expo,初学者与反应本地在这里 我正在开发一个小应用程序,它需要根据随机数显示图像。例如,如果我得到203,我想显示图像项目/img/203.png(随机数介于1和726之间) 我尝试的第一件事是require(dynamicPath),在阅读了文档之后,我明白这不是一个好方法,我不想静态地要求每个726图像。 然后我尝试使用uri语法: //从项目/组件/文件夹执行 loadImage(数字){ imgUri='../img/'+number.toString()+'.png' 返回( ) 应用程序

初学者与反应本地在这里

我正在开发一个小应用程序,它需要根据随机数显示图像。例如,如果我得到203,我想显示图像项目/img/203.png(随机数介于1和726之间)

我尝试的第一件事是require(dynamicPath),在阅读了文档之后,我明白这不是一个好方法,我不想静态地要求每个726图像。 然后我尝试使用uri语法:

//从项目/组件/文件夹执行
loadImage(数字){
imgUri='../img/'+number.toString()+'.png'
返回(
)
应用程序确实启动,但没有显示图像(即使设置了高度/宽度样式)。
我看到的uri语法示例是关于从web URL接收的图像,因此我不确定它是否允许从本地存储获取图像,但我找不到另一种获取图像的方法。

一般规则是,不能对
require
使用动态字符串(有关详细信息,请查看Muhammad Mehar评论中的链接),因此您需要将所有
require
d图像存储到一个数组中:

const images = [
  require('../img/1.png'),
  require('../img/2.png'),
  ...
  require('../img/726.png'),
];

loadImage(number){
  return <Image source={images[number-1]} />
}
const图像=[
需要('../img/1.png'),
需要('../img/2.png'),
...
要求('../img/726.png'),
];
loadImage(数字){
返回
}
当然,您可以为数组生成代码行并将其复制到编辑器以节省时间。

开关大小写是垃圾。 使用模板文本

loadImage(number){
  imgPath = `../img/${number.toString()}.png` 
  return(
    <Image source={require(imgPath)} />
)
loadImage(数字){
imgPath=`../img/${number.toString()}.png`
返回(
)

可能重复感谢您的回答!事实上,我最终生成了一个函数,基本上是一个开关/案例,有726个条目,在需要时需要每个图像。我很惊讶没有更简单的方法,但我想有一个很好的理由
需要
需要字符串常量。