Javascript React Flux Uncaught TypeError:_LocalityStore2.default.setSelectedLocality不是函数
我有HomeLayout,从那里我被重定向到MobileLocalityLayout,它有一个方法selectLocality,单击一个名为“set locality”的链接,将locality值设置为LocalityStore。现在,只要我选择了Location,我就会被重定向到HomeLayout,然后如果再次按下Location按钮并选择Location,我会得到以下错误:Javascript React Flux Uncaught TypeError:_LocalityStore2.default.setSelectedLocality不是函数,javascript,flux,reactjs-flux,Javascript,Flux,Reactjs Flux,我有HomeLayout,从那里我被重定向到MobileLocalityLayout,它有一个方法selectLocality,单击一个名为“set locality”的链接,将locality值设置为LocalityStore。现在,只要我选择了Location,我就会被重定向到HomeLayout,然后如果再次按下Location按钮并选择Location,我会得到以下错误: Uncaught TypeError: _LocalityStore2.default.setSelectedLoc
Uncaught TypeError: _LocalityStore2.default.setSelectedLocality is not a function
但是LocalityStore具有函数setSelectedLocality
代码片段:
家庭布局:
<span class='selectLocalityBtn'><Link to="/selectLocality">Set Locality</Link></span>
地点商店:
setSelectedLocality(locality){
this.setSelectedLocality = locality;
}
我是否以错误的方式实现了通量。我不明白什么是\u LocalityStore2
,因为我有LocalityStore而没有LocalityStore2。请提供帮助。根据名称约定,您似乎在类上调用setSelectedLocality,而不是实例。导出LocalityStore时,创建它的实例,然后对其调用方法。像这样:
const localityStore = new LocalityStore();
dispatcher.register(localityStore.handler.bind(localityStore));
export default localityStore;
关于此名称更改(LocalityStore改为_LocalityStore2)。我猜您正在使用babel react loader
或类似的东西将代码传输到ES5。这会导致对原始代码进行一些更改,但这不是问题。看起来(按照名称约定)您在类上调用setSelectedLocality,而不是在实例上。导出LocalityStore时,创建它的实例,然后对其调用方法。像这样:
const localityStore = new LocalityStore();
dispatcher.register(localityStore.handler.bind(localityStore));
export default localityStore;
关于此名称更改(LocalityStore改为_LocalityStore2)。我猜您正在使用
babel react loader
或类似的东西将代码传输到ES5。这会导致对原始代码进行一些更改,但这不是问题。您的代码中有输入错误
setSelectedLocality(locality){
this.setSelectedLocality = locality;
}
请用this.selectedLocality替换this.selectedLocality您的代码中有一个输入错误
setSelectedLocality(locality){
this.setSelectedLocality = locality;
}
请用this.selectedLocality替换this.selectedLocality是的,我正在使用babel transpiler我正在使用babel transpiler