- 盡量減少不必要的https請求,可使用 getStorageSync() 及 setStorageSync() 方法將數據存儲在本地
- 避免將未綁定在 WXML 的變量傳入 setData: setData操作會引起框架處理一些渲染界面相關的工作, 一個未綁定的變量意味著與界面渲染無關,傳入setData會造成不必要的性能消耗。愛掏網 - it200.com如數據需要在當前頁面共享,可采用定義全局變量的方式(如使用this.)。愛掏網 - it200.com
- 避免每次 setData 都傳遞大量新數據: 導致js編譯過程變慢,例如在改變data中某個數組的某個數據項是,在setData是可采用只更改某個數據項。愛掏網 - it200.com列表數據量過大時,也可采用分步渲染加載的方法。愛掏網 - it200.com
/**
* 分步添加列表數據
* @param {*} lists 列表數據
* @param {*} name data中字段name
* @param {*} step 每步多少條
* @param {*} interval 間隔時間
*/
stepPushList({ lists, name, step = 10, interval = 300, reset = false }) {
this._clearBaseStepPushTimer();
if (!lists || !name || !Array.isArray(lists)) return;
if (lists.length {
if (newLists.length {
this.stepPushList({ lists: newLists, name, step, interval });
}, interval || 300)
}
});
},
// 清理分步定時器
_clearBaseStepPushTimer() {
this._baseStepPushTimer && clearTimeout(this._baseStepPushTimer);
this._baseStepPushTimer = null;
},
- 不能頻繁調用setData(甚至一個函數里面不能調用兩個setData函數): 滑動時會感覺到卡頓,操作反饋延遲嚴重, 因為 JS 線程一直在編譯執行渲染,不能及時將用戶操作事件傳遞到邏輯層,邏輯層亦無法及時將操作處理結果及時傳遞到視圖層。愛掏網 - it200.com
- 避免使用:active偽類來實現點擊態,建議使用小程序內置組件的 'hover-class' 屬性來實現。愛掏網 - it200.com
- 避免使用.獲取對象的深層屬性,容易造成微信告警,可使用對象結構默認賦值,增加代碼嚴謹性,不然小程序助手會告警報錯。愛掏網 - it200.com
- 避免頁面節點嵌套過深,增加頁面渲染壓力
- 頁面退出之前銷毀定時器,可在onUnLoad生命周期鉤子函數中執行
聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。