回流动作未到达方法

时间:2018-03-20 16:10:39

标签: react-native refluxjs

我建立了一个商店,其行为如下:

import Reflux from 'reflux'

export const AuthActions = Reflux.createActions(['updateAuth', 'otherThing'])

export class AuthStore extends Reflux.Store
{
  constructor()
  {
    super()
    this.state = {
      authToken: null,
      authUser: null
    }
    this.listenables = AuthActions
  }

  otherThing()
  {
    debugger
    console.log("OTHER THINNGGS")
  }

  updateAuth(token, user)
  {
    debugger
    console.log("DODOODO")
    this.setState({authToken: token, authUser: user})
  }

}

但是,只要我导入AuthActions并调用AuthActions.otherThing()AuthActions.updateAuth(token, user),我就永远无法访问这些调试器,并且没有任何内容打印到控制台,就像从未调用过这些方法一样。我已尝试重命名为onUpdateAuthonOtherThing,但没有任何更改。

1 个答案:

答案 0 :(得分:0)

事实证明,我的商店从未被初始化。当您有商店时,您必须在组件中导入和设置商店,或者在其他地方初始化,以确保可听者链接到商店的实例。为了确保我的商店始终可用,我创建了一个商店的单个实例并导出了它而不是类本身。