在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 小程序中setData中內(nèi)存開銷的相關(guān)疑問

小程序中setData中內(nèi)存開銷的相關(guān)疑問

例如我的初始數(shù)據(jù)為

initdata:{
    name: 1;
    name: 2;
    name: 3;
    name: 4;
    name: 5;
}

之后,新的數(shù)據(jù)為

newdata:{
    name: 1;
    name: 2;
    name: 3;
    name: 4;
    name: 5;
    name: 6;
    name: 7;
    name: 8;
    name: 9;
    name: 10;
}

那么,當我setData(newdata)的時候,小程序是自動對比兩次data,然后只更新后面新增的5條數(shù)據(jù),還是直接用newdata替換initdata?

回答
編輯回答
歆久

沒有碰到過誒

2018年2月28日 12:34
編輯回答
愛是癌

這些聲望高的就會點減號,很正常的疑問。
我估計原理和react的setState差不多

setState(state, callback) {
    let s = this.state;
    if (!this.prevState) this.prevState = extend({}, s);
    extend(s, typeof state==='function' ? state(s, this.props) : state);
    if (callback) this._renderCallbacks.push(callback);
    enqueueRender(this);  // enqueueRender函數(shù)里面有異步更新視圖邏輯
}
export function extend(obj, props) {
    for (let i in props) obj[i] = props[i];
    return obj;
}
2018年4月13日 01:51