如何在if语句中渲染某些内容React Native

GII*_*ISE 2 javascript android react-native react-native-flatlist

问题

我在react native中使用一个平面列表,并且想与平面列表中的变量进行比较,如果两个变量相等则呈现文本组件,但如果不相等则不呈现文本组件。我尝试了许多方法来执行此操作,但是它们没有任何效果。我很乐意为您找出解决方法!谢谢。

Rya*_*ull 8

立刻想到的几种方式。我只是假设您要比较的是什么,但是您可以根据自己的喜好切换这些变量。您可以做的第一件事是让您的文本在您的Text组件EG中成为条件

<Text>{this.state.variable == this.props.stuff ? "RENDER TEXT" : ""}</Text>
Run Code Online (Sandbox Code Playgroud)

或者,如果你要发射Text时,变量是不相等的组成部分,有你的类的函数内,将返回Text有条件组件

renderMessage = () => {
    if(this.state.variable == "stuff"){
        return(
            <Text>They were equal</Text>
        );
    }else{
        return(
            <View></View> // OR WHATEVER YOU WANT HERE
        );
    }
}
...
//Then in your render function
....
<View style = {styles.whatever}>
    {this.renderMessage()}
</View>
Run Code Online (Sandbox Code Playgroud)