之前在用RN+mobX写一个即时通讯系统的时候,将observable后的数组放在flatList的data中,但是却发现视图不能实时刷新,后来在mobX的官方文档看到这一段话
如果 value 是数组,会返回一个 Observable Array
也就是说返回出来的并不是一个普通数组,而是一个类数组,但是flatList的data接收的是一个普通数组,那该怎么解决?
解决方法就是将类数组转化成普通数组,有两种方法
1. slice()方法
slice() 方法可从已有的数组中返回选定的元素。
因此我们可以使用
arrayObject.slice(0)
2.Array.from(ES6语法)
Array.from()方法就是将一个类数组对象或者可遍历对象转换成一个真正的数组。
使用Array.from需要确保你的项目有装babel,不然的话会识别不了ES6语法。
网友评论