亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

怎么去理解mobx的 @computed @autorun 我有點琢磨不透麻煩各位指點一下

怎么去理解mobx的 @computed @autorun 我有點琢磨不透麻煩各位指點一下

拉風的咖菲貓 2018-12-20 18:23:43
怎么去理解mobx的 @computed @autorun 我有點琢磨不透麻煩各位指點一下
查看完整描述

1 回答

?
動漫人物

TA貢獻1815條經驗 獲得超10個贊

@computed 是為了優化代碼邏輯。比如 component 中需要展示 price 以及 total 兩個信息。

不使用@computed的話,需要這么寫。


@observable count;

handleCountAdd() {

    this.count += 1;

    this.setState({ total: this.count * this.props.price });

}

假如使用了 @computed,就可以寫成


@observable count;


@computed get total() {

    return this.count * this.props.price;

}


handleCountAdd() {

    this.count += 1;

}

第二種方法明顯優于第一種,因為 total 其實相當于是根據 price 和 count 得到的,雖然它同樣控制著展示,但是作為 state 會顯得有些冗余。


@autorun 的使用頻次太少,我也沒有找到很好的 case 來解釋...


查看完整回答
反對 回復 2019-01-07
  • 1 回答
  • 0 關注
  • 520 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號