報錯內容
////////////////////////////
多層循環中循環的數組只能是一個變量或成員表達式,可以嘗試把該表達式賦值給循環內部的一個新變量
///////////////////////////
第一次遇到這個問題, 其實還是 研究 了半天, 沒有整明白 說的是什么意思
這句話 報錯的原因是因為
//////////////////////////
雙重 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 中的 數據 賦值給一個變量
