FWQ
实践总结小程序性能优化
栏目总结小程序的性能优化。 项目简述 & 问题 先简单介绍一下项目,就是一个比较常规的点餐小程序。 界面如图: 左边是分类菜单,右边是长列表,有多个分类的商品,单个分类滚动完后可以继续滚动切换到下一个分类,同时左边的分类菜单选中态会跟着切换到当前商品列表显示的分类。 考虑到更好的用户体验,以及参考了美团等点餐小程序,这个商品列表的数据是一次性返回的。目前遇到的问题就是,当商品数量比较多时,首次渲染时间很长,而且页面会卡顿。 优化方向 逻辑优化 小声bb:其实就是原来代码(由于历史原因)写得太烂了……OTL 先放个图 小声bb:连小程序都看不下去了,要警告了 微信开发者工具都有警告了,而且提示里面也有定位到具体代码的位置,所以关键就是这个 setData !!! 我们可以先看看官方对于小程序性能以及 setData 优化的一些建议。(developers.weixin.qq.com/miniprogram…) 具体实践: 1. setData 不能一次性传太多数据,如果列表太长,可以分开渲染【比如转化为二维数组,每次循环渲染一个数组】。 v1:简单粗暴版 // 每次渲染一个分类// 假设goodsList是一个二维数组goodsList.forEach((item, index)…