您好,我使用过以下条件,但屏幕上没有任何渲染。顺便说一句,领导者数组中有“ MAVI”
renderall() {
return this.state.leader.map(alb => {
if(alb.Renk == 'MAVI') {
<View style={styles.container} key={counter = counter + 1}>
<Text style={[styles.textStyle, {marginLeft:'5%'}]}> {alb.Tescil_No} </Text>
<Text style={[styles.textStyle, {marginLeft:'6%'}]}> {alb.GumrukAdi} </Text>
<Text style={[styles.textStyle, { marginLeft:'5%'}]}> {alb.ACIKLAMA} </Text>
</View>
}
});
}
答案 0 :(得分:2)
您在.map
中缺少回报。注意,在if statement
内,我正在返回要映射的项目。
renderall() {
return this.state.leader.map(alb => {
if(alb.Renk == 'MAVI') {
return (
<View style={styles.container} key={counter = counter + 1}>
<Text style={[styles.textStyle, {marginLeft:'5%'}]}> {alb.Tescil_No} </Text>
<Text style={[styles.textStyle, {marginLeft:'6%'}]}> {alb.GumrukAdi} </Text>
<Text style={[styles.textStyle, { marginLeft:'5%'}]}> {alb.ACIKLAMA} </Text>
</View>
);
}
});
}
本文更详细地说明了.map
函数的工作原理
https://codeburst.io/learn-understand-javascripts-map-function-ffc059264783
这是一个非常小的示例,显示了如何使用.map
函数。注意return语句。
let leaders = ['Tom','Jerry','Mike'];
let mappedLeaders = leaders.map((leader, index) => {
return `${leader} is number ${index}`; // notice that I am returning here
})
console.log(mappedLeaders)
下面是一个使用.map
和if statement
的示例。请注意,我们将为undefined
中的第一项得到mappedLeaders
,因为我们不会为第一项返回任何内容,因为 Tom 因为他的名字也太长而被排除简短。
let leaders = ['Tom','Jerry','Mike'];
let mappedLeaders = leaders.map((leader, index) => {
if (leader.length > 3) {
return `${leader} is number ${index}`; // notice that I am returning here
}
});
console.log(mappedLeaders)