Я использую flatlist в native native и хочу сравнить с переменными в flatlist и визуализировать текстовый компонент, если две переменные равны, но ничего не делают, если они не являются. Я пробовал много способов сделать это, но они ничего не сработали. Мне хотелось бы помочь понять, как это сделать! Спасибо.
Пара способов, которые приходят в голову сразу. Я просто предполагаю, что вы пытаетесь сравнить, но вы можете переключать эти переменные на все, что угодно. Первое, что вы могли бы сделать, это заставить текст быть условным внутри вашего Text
компонента, EG
<Text>{this.state.variable == this.props.stuff ? "RENDER TEXT" : ""}</Text>
или, если вы хотите исправить компонент 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>
renderMessage
но, возможно, вы можете - нуждается в разъяснении
просто сравните свои данные в методе 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>