如何在 if 语句中渲染某些内容 React Native
How to render something in an if statement React Native
问题
我在 React Native 中使用平面列表,并想与平面列表中的变量进行比较,如果两个变量相等则渲染文本组件,如果不相等则不渲染任何内容。我已经尝试了很多方法来做到这一点,但没有任何效果。我希望得到一些帮助,找出一种方法来做到这一点!谢谢。
spring 立即想到的几种方法。我只是假设您要比较的是什么,但您可以随意切换这些变量。你可以做的第一件事是让你的文本在你的 Text
组件中是有条件的,EG
<Text>{this.state.variable == this.props.stuff ? "RENDER TEXT" : ""}</Text>
或者,如果您想在变量不相等时发出 Text
组件,请在 class 内部设置一个函数,该函数将 return 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>
只需相应地比较 renderItem 方法中的数据
<FlatList
data={this.props.data}
renderItem={this._renderItem}
/>
_renderItem = ({item}) => (
if(item=='somthing'){
return <Text> your test </Text>
}else{
return <Text>some other text</Text>
}
);
如果您想比较组件中的文本,那么
<View>
{
item.data == 'somthing'
?
<Text>if</Text>
:
<Text>else</Text>
}
</View>
问题
我在 React Native 中使用平面列表,并想与平面列表中的变量进行比较,如果两个变量相等则渲染文本组件,如果不相等则不渲染任何内容。我已经尝试了很多方法来做到这一点,但没有任何效果。我希望得到一些帮助,找出一种方法来做到这一点!谢谢。
spring 立即想到的几种方法。我只是假设您要比较的是什么,但您可以随意切换这些变量。你可以做的第一件事是让你的文本在你的 Text
组件中是有条件的,EG
<Text>{this.state.variable == this.props.stuff ? "RENDER TEXT" : ""}</Text>
或者,如果您想在变量不相等时发出 Text
组件,请在 class 内部设置一个函数,该函数将 return 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>
只需相应地比较 renderItem 方法中的数据
<FlatList
data={this.props.data}
renderItem={this._renderItem}
/>
_renderItem = ({item}) => (
if(item=='somthing'){
return <Text> your test </Text>
}else{
return <Text>some other text</Text>
}
);
如果您想比较组件中的文本,那么
<View>
{
item.data == 'somthing'
?
<Text>if</Text>
:
<Text>else</Text>
}
</View>