更改商店中的财产或状态" 1"来自商店的行动" 2"

时间:2016-12-11 14:49:24

标签: javascript notifications store inject mobx

是否可以从其他商店的操作更改某个商店的状态。我通常在所有组件上使用Inject,但我猜他们不会在商店工作。

我有一个专门的商店来控制通知弹出窗口的状态。更改它的打开/关闭状态以及来自我执行ajax调用的所有其他商店的操作的消息会很棒。

1 个答案:

答案 0 :(得分:0)

将通知存储导入其他商店并以这种方式调用某些操作可能最简单:

// notificationStore.js
class NotificationStore {
  @observable notif = { state: 'closed', msg: '' };
  @action changeState(state, msg) {
    this.notif.state = state;
    this.notif.msg = msg;
  }
}

export default new NotificationStore();

// otherStore.js
import notificationStore from './notificationStore.js'

class OtherStore {
  @action someAction(someData) {
    // Some code...
    notificationStore.changeState('open', 'someAction complete');
  }
}