2017-02-02 12 views
3

mobx @observableの値が変更されたときにconsole.logが自動的に起動する方法はありますか?`console.log` mobxの値が変わるたびにmobx` @ observable`

私はmobx devツールを使用しますが、大量のコンソールログを生成するので、値を追跡しているプロパティをポイントするのは難しいです。

//store.js 
import { autorun } from 'mobx'; 
autorun(() => { 
    console.log(store.value); //value is an observable. 
}); 

答えて

3

ヨ行うことができますあなたのコールバックを実行します。

私も似た構文は、より理にかなっているので、この機能へのより多くのオプションがあります

import { reaction } from 'mobx' 

class SomeStore { 
    @observable item; 
    @observable otherObservable; 

    constructor() { 
     reaction(
      // The callback will run only on change 
      // of observables described in this function 
      () => this.item, 
      // You can use whatever observables/computed values in this function 
      // without making the function run on an unwanted observables change 
      () => { 
       if (this.otherObservable) { 
        doSometing(); 
       } 
      } 
     ) 
    } 
} 

、あなたは提供されたリンクでそれについて読むことができます。

3

また、あなたはおそらく自動実行を使用したいと思うログインするためReaction、 を使用することができますが、 缶があなたをより細かく制御することができます別のオプションは、あります知っている必要があります。

関連する問題