1.页面跳转传参解码 escape(JSON.stringify(options)) => JSON.parse(unescape(options))
2.当使用button组件时 千万记住: 不要设置其position为inherit、initial、static之类(只能为relative、fixed、absolute), 否则在页面中不管你点哪里都会触发button的tap事件
3. 在小程序中,定时器是全局的,并不是跟页面绑定的,当页面因后退被销毁时,定时器仍然会继续运行,应注意把不必要的定时器手动回收。
4.setData操作会引起框架处理一些渲染界面相关的工作,一个未绑定的变量意味着与界面渲染无关,传入setData会造成不必要的性能消耗
5.setData 渲染优化 长列表数组 => 二维数组 局部渲染 eg:
this.setData({
['goodList['+pageNum+']'] : list
})
this.setData({ ...data }) => 批量渲染,减少setData频次
附 小程序长列表组件: https://github.com/wechat-miniprogram/recycle-view
6.首屏缓存,骨架屏 (受网络或后端并发影响,页面加载缓慢时, 延缓用户的等待感)
7.微信开发工具自带的Audits 根据检测结果 => 优化方向