我有HomeLayout,从那里我被重定向到MobileLocalityLayout,它有一个方法selectLocality,在点击一个名为“set locality”的链接时将locality值设置为LocalityStore。现在,一旦我选择了地点,我就被重定向到HomeLayout,之后如果再次按下locality按钮并选择locality,我会收到以下错误:
Uncaught TypeError: _LocalityStore2.default.setSelectedLocality is not a function
但LocalityStore具有函数setSelectedLocality
。
代码段:
HomeLayout:
<span class='selectLocalityBtn'><Link to="/selectLocality">Set Locality</Link></span>
MobileLocalityLayout:
selectLocality(val){
this.setState({
selectedLocality : val
});
LocalityStore.setSelectedLocality(val);
browserHistory.push("/");
}
LocalityStore:
setSelectedLocality(locality){
this.setSelectedLocality = locality;
}
我是以错误的方式实施助焊剂。我不明白什么是_LocalityStore2
因为我有LocalityStore而不是LocalityStore2。请帮忙。
答案 0 :(得分:0)
它看起来(通过名称约定)就像你在类而不是实例上调用setSelectedLocality一样。导出LocalityStore时创建它的实例,然后在其上调用方法。像这样:
const localityStore = new LocalityStore();
dispatcher.register(localityStore.handler.bind(localityStore));
export default localityStore;
关于此名称更改(LocalityStore到_LocalityStore2)。我猜您正在使用babel-react-loader
或类似的东西将您的代码转换为ES5。这会导致对原始代码进行一些更改,但这不是问题。
答案 1 :(得分:0)
您的代码中有拼写错误
setSelectedLocality(locality){
this.setSelectedLocality = locality;
}
请将this.setSelectedLocality替换为this.selectedLocality