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