代码之家  ›  专栏  ›  技术社区  ›  S.M_Emamian

无法添加没有酸奶的孩子

  •  0
  • S.M_Emamian  · 技术社区  · 6 年前

    这是我的职责:

      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>
    

    但我收到一条错误消息:

    无法将没有酸奶的子级添加到没有酸奶的父级 措施。

    我必须使用这个函数。没有它,我就不得不写硬代码。

    1 回复  |  直到 6 年前
        1
  •  2
  •   Andrew    6 年前

    问题是因为您要将视图连接在一起。它们需要添加到数组中。另外,如果循环项目,则需要具有唯一的键属性,我已在更新的 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;
    }
    
    推荐文章