【问题标题】:For Loop in react-native render only index[0]反应原生渲染中的 For Loop 仅索引 [0]
【发布时间】:2018-03-12 09:41:59
【问题描述】:

我不明白为什么我的循环在我的循环中只呈现 index[0].... 我有一个数组状态:

this.state = {
      days: ["Lundi","Mardi","Mercredi"]
    } 

我想在我的组件中渲染每一天:

render(){
    for (let i = 0; i < this.state.days.length; i++) {
      console.log(this.state.days[i]);
      return (

        <Text>{this.state.days[i]}</Text>

      );

有什么想法吗??

【问题讨论】:

  • 提示,return 语句有什么作用?
  • 因为return语句。

标签: javascript reactjs loops react-native


【解决方案1】:

你用return命令打破循环,所以它只进入循环一次

【讨论】:

    【解决方案2】:

    因为你在你的 for 循环中返回 breaks the loop

    你最好用地图

    render() {
        return (
          <div>
            { 
              array.map(day => {
                return (
                  <p>{day}</p>
                );
              })
            }
          </div>
        );
      }
    

    【讨论】:

      【解决方案3】:

      你的渲染方法应该是这样的:

      render(){
          return(
             <View>
               {this.state.days.map((item, index) => {
                   <Text>{item}</Text>
                 }
               )}
             </View>
          )
      
      }
      

      【讨论】:

        【解决方案4】:

        .render 必须返回单个根节点。这样您将返回多个节点。

        你需要做一些类似的事情(将你的内容包装在一个 div 中)

          render() {
            return (
              <div>
                {
                  this.state.days.map(d => <Text>{d}</Text>)
                }
              </div>
            );
          }
        

        【讨论】:

          【解决方案5】:
           render() {
                  this.state = {
                      days: ["jan","feb","Mar"]
                    } 
                  return (
                    <View style={styles.container}>
                        { 
                        this.state.days.map(d => <Text>{d}</Text>)
                      }
                      </View>
                  )
           }
          }
          

          【讨论】:

          • 拜托,你能用更详细的解释来扩展你的答案吗?这对理解非常有用。谢谢!
          猜你喜欢
          • 1970-01-01
          • 2017-06-24
          • 1970-01-01
          • 1970-01-01
          • 2017-02-10
          • 2020-04-22
          • 2020-06-29
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多