要求在另一家商店的商店不起作用

时间:2016-08-09 22:19:46

标签: javascript reactjs flux reactjs-flux

我正在尝试使用Dispatcher.waitFor但是当我在另一个商店需要一个商店时,它不起作用。

因此,当我发送INIT事件时,StoreA正在正确处理它,但StoreB甚至没有显示调试消息。

StoreA.js

var Constants = require('../constants/Constants')
var Dispatcher = require('../dispatcher/Dispatcher')

StoreA.dispatchToken = Dispatcher.register(function (action) {
  switch (action.type) {
    case ActionTypes.INIT:
      // ...
      // ...
      // ...
      StoreA.emitChange()
      break
  }
}

StoreB.js

var ActionTypes = require('../constants/Constants').ActionTypes
var Dispatcher = require('../dispatcher/Dispatcher')
var StoreA = require('./StoreA')

StoreB.dispatchToken = Dispatcher.register(function (action) {
  switch (action.type) {
    case ActionTypes.INIT:
      console.log('Wait for SectionStore')
      Dispatcher.waitFor([StoreA.dispatchToken])
      console.log('SectionStore Updated')
      // ...
      // ...
      // ...
      StoreB.emitChange()
      break
  }
}

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

乍一看,看起来StoreA缺失了:

var ActionTypes = require('../constants/Constants').ActionTypes

此外,您是否在开发者控制台中看到任何错误日志?