Ant Design Mobile下拉刷新列表,后台返回数据的处理问题,在官方“ListView长列表”组件中(如下图所示),模拟了数据的处理:
第1个红框,是第1次模拟获取数据,是在componentDidMount()生命周期函数中,用genData()函数生成,没有问题;
第2个红框,是第2次模拟获取数据,是在滚动条滚动到底部的时候,再次用genData()函数生成,同时用扩展运算符和以前的数据进行合并,重新赋值给this.rData
。
问题:
在实际开发中,从第2次开始从后台取回数据时,都要像上面第2个红框那样用扩展运算符进行合并对象操作吗?当数据量很大时,会不会严重影响性能?
附:
组件官方地址在这里:https://antd-mobile.gitee.io/...
打开链接后,点击下面截图所示的图标即可看到完整代码:
合并对象的话,还可以用
Object.assign
,也有其他一些框架的实现,比如像 jq 里面的extend
我用
assign
和...
扩展符做了下性能对比,在node,chrome,firefox
还有安卓的夸克浏览器上分别做了测试assign
的速度会比...
快一个数量级,如果考虑性能的话,可以试试assign
来做对象合并至于其他方案,可以自己动手做个性能测试看看.可以参考后面的文章做性能测试.
参考
使用Benchmark.js和jsPerf分析代码性能