后台接口返回一千多条数据,渲染在页面要四秒,很慢。要怎么优化
- 需求的场景描述(希望解决的问题)
接口有一千多条数据,列表渲染在真机上要四秒以上时间。还要求右侧有索引,点击索引能跳到相应的列表位置,类似图片这种,
有什么办法能优化呀,想了很久不知道怎么办?
- 希望提供的能力
10 回复
没准可以试下这个思路:
把列表按照右侧索引分争27块,根据数据,算好每块的高度
列表开始只渲染27个空的view,但是高度是对的
每个块用和屏幕的相交性来判断显隐(IntersectionObserver)
wx.createIntersectionObserver().relativeToViewport().observe( '.regin_A' , (res) => { this .setData({ show: true , }) }) |
这样可能会让初次渲染快,且能直接跳转到索引处,不过我没试验过
看样子应该是你数据量太大了,调用setData之后觉得卡顿,建议 不要用setData传输太大的数据(可以分块传输) https://mp.weixin.qq.com/debug/wxadoc/dev/framework/performance/tips.html
尝试下这里面的