2017-06-29 8 views
2

私はReactとMeteorとの組み合わせでmobXを使用していますので、ある店舗に保存されている情報を別の店舗に使用する必要があります。具体的には、ストアAのアクションを呼び出し、コレクションに登録することによって取得した情報を取得するために、ストアBのストアAの参照を持つ必要があります。私は@injectデコレータを使用しましたが、アクションを呼び出す方法はわかりません。ありがとうmobx内の別のストアに店舗を入れるには

答えて

1

@injectは、店舗間ではなく、Providerから何かを反応成分に注入するために使用されます。

最初のストアを2番目のストアにインポートし、すぐにアクションを呼び出すことができます。

// store1.js 
import { observable, action } from 'mobx'; 

class Store1 { 
    @observable count = 0; 

    @action increment() { 
    ++this.count; 
    } 
} 

export default new Store1(); 

// store2.js 
import { observable, action } from 'mobx'; 
import store1 from './store1'; 

class Store2 { 
    @observable name = 'foobar'; 

    constructor() { 
    store1.increment(); 
    } 

    @action changeName(name) { 
    this.name = name; 
    } 
} 

export default new Store2(); 
関連する問題