报错内容
////////////////////////////
多层循环中循环的数组只能是一个变量或成员表达式,可以尝试把该表达式赋值给循环内部的一个新变量
///////////////////////////
第一次遇到这个问题, 其实还是 研究 了半天, 没有整明白 说的是什么意思
这句话 报错的原因是因为
//////////////////////////
双重 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 中的 数据 赋值给一个变量
原文:https://www.cnblogs.com/liuyuexue520/p/13520174.html