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 中的 數據 賦值給一個變量


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM