为了账号安全,请及时绑定邮箱和手机立即绑定

怎么去理解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 关注
  • 458 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信