2016-05-04 3 views
1

У меня есть магазин с коллекцией, которую я хочу читать только. Я хочу сделать что-то вроде, но не знаю, создает ли Mobx способ создания реактивной функции.Как сделать наблюдаемую функцию в 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 
    } 
    } 

    ... 
} 

Какие могут быть альтернативы?

ответ

1

Вы можете просто использовать

публика (ID) {возвращение _col.has (ID); }

Для наблюдаемых не имеет значения, доступны ли они напрямую или через несколько уровней косвенности, MobX будет отслеживать это в любом случае.

Смежные вопросы