1. 程式人生 > 實用技巧 >Taro 框架 中 map雙重遍歷 報錯

Taro 框架 中 map雙重遍歷 報錯

報錯內容

////////////////////////////

多層迴圈中迴圈的陣列只能是一個變數或成員表示式,可以嘗試把該表示式賦值給迴圈內部的一個新變數

///////////////////////////

第一次遇到這個問題,其實還是研究了半天,沒有整明白說的是什麼意思

這句話報錯的原因是因為

//////////////////////////

雙重 map迴圈中,外層迴圈用的陣列,或者該陣列賦值的變數 ,來源是constructor中的state

然後,內層迴圈中,用到的變數,也是來自constructor中的state

////////////////////////

解決辦法:在第一個map迴圈中,把第二次map需要迴圈的陣列,賦值給一個新的變數.然後內層迴圈直接遍歷該變數

obj = {
  arr1: [1,2,3,4],
  arr2: [5,6,7,8]    
}

obj.arr1.map(item 
=> { const arr2 = obj.arr2 return (<View> // 這裡直接遍歷 obj.arr2 就會提示 上面的文字, 正確的做法是,先吧arr2賦值給一個新的變數, 然後遍歷 該變數 就不會提示這類文字了 arr2.map((item2) => { return (<View>{item2}</View>) }) </View>) })

簡單理解為:Taro ( react ) 雙重 map遍歷,內層遍歷不要直接拿state中的資料,而是在外層遍歷的return之前,把state中的資料賦值給一個變數