黔优媒体网-软文媒体自助发稿平台!
  1. 行业资讯
  2. 正文

小程序:使用 wx:key 提升 wx:for 的渲染效率

来源:黔优媒体网   时间:2024-09-19

这边文章的内容主要讲述在小程序中使用 wx:key 提升 wx:for 的渲染效率

之所以加上 wx:key 会提升 wx:for 的渲染效率,原因是(我的初步理解)

如果不加 wx:key, 在 setData 之后,如果 array 内的数据如果发生改变,会重新创建前端的渲染对象 加上 wx:key,重新渲染时,只是将对应的对象重新排序。未发生变化的对象,不会重新创建

参考官方的解释

当数据改变触发渲染层重新渲染的时候,会校正带有 key 的组件,框架会确保他们被重新排序,而不是重新创建,以确保使组件保持自身的状态,并且提高列表渲染时的效率。

需要验证的问题

加上 wx:key 之后,会根据给定的 key 进行排序么?

写个简单的测试页面

 block wx:for= {{languages}} wx:for-item= language wx:key= id 
 text >


从测试结果来看,并不会影响到排序。

key 重名时是否会报错
data: {
 languages: [
 {id: 1, name: #39;php #39;},
 {id: 4, name: #39;javascript #39;},
 {id: 3, name: #39;golang #39;},
 {id: 2, name: #39;python #39;},
 {id: 5, name: #39;java #39;},
click: function () {
 let language = {id: 5, name: #39;kotlin #39;}
 let languages = this.data.languages
 languages.push(language)
 this.setData({
 languages: languages
}

微信小程序开发工具只会报一个警告,并不会导致程序崩溃

VM6265:2 Do not set same key {5} in wx:key

比较奇怪的是,这个警告只有在重新渲染时才会报,如果初始化时就使用同样的 key,并不会导致警告。

相关视频连接:小程序开发教程

以上就是小程序:使用 wx:key 提升 wx:for 的渲染效率的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。


【免责申明】黔优媒体网以上展示内容来源于用户自主上传、合作媒体、企业机构或网络收集整理,版权争议与本站无关,文章涉及见解与观点不代表黔优媒体网官方立场,请读者仅做参考,本文标题:小程序:使用 wx:key 提升 wx:for 的渲染效率;欢迎转载,转载时请说明出处。若您认为本文侵犯了您的版权信息,或您发现该内容有任何违法/违规的内容,请您立即联系我们及时修正或删除。(邮箱号: kefu@qianu.com)
此操作需要登录,请先登录~
免费注册会员,尽享国内领先平台!