我有一个集合,我想要只读。我希望做一些类似但我不知道Mobx是否提供了一种创建反应函数的方法。
class Store{
private _col:Mobx.Map;
...
@observable public has(id){
return _col.has(id);
}
}
我在游戏架构中考虑到了不信任客户端。所以我不希望我的观点直接访问_col
。
@observe
class MyView extends Component {
...
componentWillMount(){
this.id = this.props.params.id;
autorun(()=>{
this.props.store.has(this.id)
//do something smart
}
}
...
}
可能有哪些替代方案?
答案 0 :(得分:3)
你可以使用
public has(id){return _col.has(id); }
对于可观察对象而言,无论是直接访问还是通过多层间接访问都无关紧要,MobX将会对其进行跟踪。