微信小程序Invalid attempt to spread non-iterable instance解决办法
原因:在js中给列表元素赋初值空,并且从缓存中取值赋给该列表元素,如:
data:{ daily:[] },
同时存在另一个数据,每次进入该页面这个数据的取值都不同,想要将每次的这个数据值存入daily并设置到缓存中(假如该数据变量为C)
this.setData{
daily:C //错误,这样设置回覆盖掉之前daily的值
daily:[...this.data.daily,...C] //错误,报Invalid attempt to spread non-iterable instance
//因为当第一次时,daily中为空数组,不能遍历
}
wx.setStorageSync("daily",this.data.daily) //存入缓存
解决办法:增加判断条件,当daily初始列表为空时,daily:C
当daily中已经有值再要增加值时,daily:[…daily,…C]