怎么去理解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 来解释...
添加回答
举报
0/150
提交
取消