这是我的功能
getIndicators(){
const {pages} = this.state
var indicators = null
for(var i = 0 ; i < pages.length ; ++i){
if(pages[i].active)
indicators += <View style={styles.activeCircle} />
else
indicators += <View style={styles.inActiveCircle} />
}
return indicators;
}
在return
函数的render
中:
<View style={{width:'70%',height:'100%',justifyContent:'center',flexDirection:'row',alignSelf:'center',alignItems:'center',backgroundColor:'#fff'}}>
{this.getIndicators()}
</View>
但我收到此错误消息:
无法将没有YogaNode的孩子添加到没有父母的孩子 测量。
我必须使用此功能。没有它,我必须编写硬代码。
答案 0 :(得分:2)
问题是因为您正在将视图串联在一起。它们需要添加到数组中。同样,如果您遍历项目,则将需要具有唯一的key属性,我已在下面的更新后的getIndicators
函数中添加了该属性。
如果将getIndicators
函数更新为以下功能,则应该可以使用
getIndicators = () => {
const {pages} = this.state
var indicators = []
for(var i = 0 ; i < pages.length ; ++i){
if(pages[i].active)
indicators.push(<View key={i} style={styles.activeCircle} />)
else
indicators.push(<View key={i} style={styles.inActiveCircle} />)
}
return indicators;
}