首页 > 解决方案 > 带有地图的Javascript Switch语句添加了X个案例

问题描述

我正在获取未知数量的图像,我想创建一个映射图像数组的函数,并根据开关的情况决定它显示的图像

我尝试在开关内插入一个包含案例的地图函数,但我收到一个错误,说我需要一个案例

switch(this.state.currentImage){
   user.photos.map((img, index) => {
        return (
                <Image 
                style={[styles.photo, {zIndex: 5, flexDirection: "row"}]} 
                source={{ uri: img }}/>
               )
        }
}

标签: javascriptreact-native

解决方案


您没有提供足够的上下文来给您一个绝对的答案。而且我认为您不了解开关的工作原理。switch 测试 case 中的条件是否与 in 开关中的条件相同。

switch ('Test') {
  case 'Test':
   console.log('This will be logged');
   break;
  case 'Wrongtest':
   console.log('This will not');
   break;
}

但是,如果图像存储在一个数组中,并且您只想根据某些变量或数据使用一些图像,我会这样处理:

let allImages = [img1, img2, img3, img4 ...];
let imagesToShow = [];
function parseImages(){
allImages.forEach(image => {
  if (image.importantVariable){
    imagesToShow.push(image)
   }
 })
}

if 语句检查图像中的“重要”事物是否是您想要的。由于您没有说明决定因素是什么,所以我不知道您会在 if 语句中添加什么。然后您可以使用 imagesToShow-array 中的图像。


推荐阅读