Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 映射函数内的开关条件语句_Javascript_React Native_Switch Statement - Fatal编程技术网

Javascript 映射函数内的开关条件语句

Javascript 映射函数内的开关条件语句,javascript,react-native,switch-statement,Javascript,React Native,Switch Statement,我正在映射react native中的对象数组: const status_image = [ { image: require("../../assets/claimsImages/Question.png") }, { image: require("../../assets/claimsImages/Approved.png") }

我正在映射react native中的对象数组:

const status_image = [
            {
                image: require("../../assets/claimsImages/Question.png")
            },
            {
                image: require("../../assets/claimsImages/Approved.png")
            },
            {
                image: require("../../assets/claimsImages/In Process.png")
            },
            {
                image: require("../../assets/claimsImages/Cancelled.png")
            }
        ]

        this.state = {
            newdata: [],
            images: status_image,

        }


render(){
        var img = this.state.images.map( val => val.image);

        const claimData = this.state.newdata.map((val, index) => {
            return (
                <View key={index} style={{flexDirection: 'row', justifyContent: 'space-between', margin: 15,}}>

                        <View style={{ borderBottomWidth: 1,borderBottomColor: '#A6ACAF' }}>
                            <Text>EW</Text>
                            {val.claim_approval_status.map((status, i) => (

                                    <View style={{marginVertical: 12}}>
                                        <Image
                                            style={styles.stretch}
                                            source={img[i]}
                                        />
                                    </View>
                            ))}
                        </View>
                        <View>
                        {val.claim_approval_status.map((status, i) => (

                            <View style={{marginTop: 36}}>
                                <Text>{status}</Text>
                            </View>
                        ))}
                    </View>
                </View>
            )
    });
        return (
            <View>
                {claimData}
            </View>
        )

    }

我怎样才能达到这个结果?非常感谢您的帮助。

您可以应用最简单的方法,通过指定对象键作为状态代码,而不是切换大小写,如下所示:

const status_image = 
    {
        question: require("../../assets/claimsImages/question.png"),
        approved: require("../../assets/claimsImages/approved.png"),
        inprocess: require("../../assets/claimsImages/inprocess.png"),
        cancelled: require("../../assets/claimsImages/cancelled.png")
    };
一旦你有了回应,你就可以用

<Image 
    style={styles.stretch}
    source={status_image[status]}
/>


您需要确保来自图像的api和密钥的响应应该相同。是的,它是相同的。Approved.png、In-Process.png和response:
“claim\u approval\u status”:[“Approved”、“In-Process”]
正如我从您的评论中看到的,这是不一样的,“Approved”和“Approved”都不一样,在我用小写字母写下的问题中,“In-Process”和“inprocess”也不一样。实际情况就是我上面提到的情况。很抱歉出现了问题中的打字错误。正如我所说,它必须是相同的,只需用您得到的响应替换json对象键即可。
<Image 
    style={styles.stretch}
    source={status_image[status]}
/>