我如何动态地将价值传递给组件

时间:2019-09-04 20:26:59

标签: json reactjs

所以我只有几个数组。第一个是文件数组,第二个是选择数组。 选择数组示例{name:sks,src:skd},... etc 图像数组如下所示: 'sks':skdka

所以名称和src将会改变,这取决于选择...

所以我需要将choice.name作为选择器传递给第一数组
所以我不能那样做:

  

images.choice.name是因为!== images.sks

因此在组件内部,我这样调用函数图像:

src={this.image(choice.name)}

该解决方案无效

image(pos){
 return images.pos;
}
//pos === string and expected value sks

该解决方案可以按预期工作,但它不是动态的...

image(pos){
 return images.sks;
}

有什么主意吗?

1 个答案:

答案 0 :(得分:1)

如果我对您的帖子正确无误。您有一个json对象,用于选择形状中的元素:

choices = [
  {
    name:sks,
    src:skd
  },
...
]

并且您的图像对象的形状为:

const images = {
   "skd" : sdfsd,
   "asdasf": adadada
}

如果我的假设是正确的,那么您应该简单地这样做:

const getImage = (choice) => images[choices.src]