setData优化问题??哪种执行更快??
发布于 5 年前 作者 leishen 5625 次浏览 来自 官方Issues

请问哪种的执行效率更快?

【第一种setData方式

var list = res.data.list;
for( var i =0;i<list.length; i++){

    var str = 'list['+i+'].name';

var strId = 'list['+i+'].id';

    that.setData({

            [str] : list[i].name,

            [strId] : list[i].id

    })
}

【第二种setData方式】:

var list = res.data.list;
var arrList = [];
for(var i=0;i<list.length;i++){
    var item = {
          id:list[i].id,
          name:list[i].name
     }
    arrList.push(item);
}
that.setData({
    list :  arrList
})
5 回复

应该是第二种吧

第二种

setdata是异步操作的 操作频率快可能操作渲染顺序错误

比如 list中 索引在后面的 可能先被渲染

第二个是高手

肯定是第二种

我习惯第二种,而且官方不是建议别频繁setdata么

回到顶部