我建立了一个商店,其行为如下:
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)
,我就永远无法访问这些调试器,并且没有任何内容打印到控制台,就像从未调用过这些方法一样。我已尝试重命名为onUpdateAuth
和onOtherThing
,但没有任何更改。
答案 0 :(得分:0)
事实证明,我的商店从未被初始化。当您有商店时,您必须在组件中导入和设置商店,或者在其他地方初始化,以确保可听者链接到商店的实例。为了确保我的商店始终可用,我创建了一个商店的单个实例并导出了它而不是类本身。