onReady() {
const ctx = wx.createCanvasContext('myCanvas');
this.ctx = ctx;

// 从缓存中获取之前保存的数据
const savedData = wx.getStorageSync('canvasData');

if (savedData) {
this.setData({
bh: savedData.bh,
mc: savedData.mc,
arr1: savedData.arr1,
dw: savedData.dw,
date: savedData.date,
arr2: savedData.arr2,
zt: savedData.zt,
y: savedData.y,
clickCount: savedData.clickCount
});
this.setData({ rows: savedData.rows });
} else {
this.drawTable();
} },

优化建议:

  1. 将wx.createCanvasContext('myCanvas')的创建和赋值放在onReady()函数外面,避免每次调用onReady()函数都创建一个新的CanvasContext对象。

  2. 使用解构赋值简化从缓存中获取的数据的赋值过程。

  3. 使用对象的扩展运算符简化setData()函数的调用。

  4. 将重复的代码提取为函数。

优化后的代码如下:

onReady() {
const ctx = this.ctx || wx.createCanvasContext('myCanvas');
this.ctx = ctx;

const savedData = wx.getStorageSync('canvasData');

if (savedData) {
const { bh, mc, arr1, dw, date, arr2, zt, y, clickCount, rows } = savedData;

this.setData({
  bh,
  mc,
  arr1,
  dw,
  date,
  arr2,
  zt,
  y,
  clickCount,
  rows
});  

} else {
this.drawTable();
} },

drawTable() { // 绘制表格的逻辑

请优化一以下代码每次打开页面画布内容为空onReady const ctx = wxcreateCanvasContextmyCanvas; thisctx = ctx; 从缓存中获取之前保存的数据 const savedData = wxgetStorageSynccanvasData; if savedData thissetData bh sa

原文地址: https://www.cveoy.top/t/topic/iiby 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录