小程序
小游戏
企业微信
微信支付
扫描小程序码分享
想问一下小程序的页面渲染机制,比如我现在有一个数组叫做 news,里面存储了50条文章的信息,类似于下面这样的:
[{id:1, title:'早报',content:'今早吃饭了....'},...]
那现在我修改了第 i 条的 title 为晚报,然后重新 setData({news: news}),
那这样的话,小程序是会重新渲染整个列表吗? 还是只对我修改过的那一条数据重新渲染?
如果这样会导致整个小程序的列表被重新渲染的话,那岂不是效率很低?
1 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
实际上,他并不对整个列表进行重新渲染,而只是渲染当前屏幕内可展示的内容而已。
你调用 setData 仅仅是用于重新计算。相当于浏览器中的“重排”。
“重绘”操作并不总是主动调用的,大多情况下,只有当用户在屏幕上进行了操作(如,按下,移动,抬起等)之后才会进行“重绘”操作。
所以,鉴于此,可不用担心性能问题。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
不对吧,当重新设置news后,用户同时滑动屏幕了,因为用户在浏览商品,那么此时是不是“重绘”了。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
实际上,他并不对整个列表进行重新渲染,而只是渲染当前屏幕内可展示的内容而已。
你调用 setData 仅仅是用于重新计算。相当于浏览器中的“重排”。
“重绘”操作并不总是主动调用的,大多情况下,只有当用户在屏幕上进行了操作(如,按下,移动,抬起等)之后才会进行“重绘”操作。
所以,鉴于此,可不用担心性能问题。
不对吧,当重新设置news后,用户同时滑动屏幕了,因为用户在浏览商品,那么此时是不是“重绘”了。