React Flux Uncaught TypeError: _LocalityStore2.default.setSelectedLocality is not a function
React Flux Uncaught TypeError: _LocalityStore2.default.setSelectedLocality is not a function
我有 HomeLayout,从那里我被重定向到 MobileLocalityLayout,它有一个方法 selectLocality 在单击名为 "set locality" 的 link 时将位置值设置为 LocalityStore。现在,一旦我 select 地区,我就会被重定向到 HomeLayout,之后如果再次按下地区按钮和 select 地区,我会收到以下错误:
Uncaught TypeError: _LocalityStore2.default.setSelectedLocality is not a function
但是 LocalityStore 具有函数 setSelectedLocality
。
代码片段:
主页布局:
<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。请帮忙。
它看起来(按照名称约定)就像您在 class 而不是实例上调用 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.setSelectedLocality 替换为 this.selectedLocality
我有 HomeLayout,从那里我被重定向到 MobileLocalityLayout,它有一个方法 selectLocality 在单击名为 "set locality" 的 link 时将位置值设置为 LocalityStore。现在,一旦我 select 地区,我就会被重定向到 HomeLayout,之后如果再次按下地区按钮和 select 地区,我会收到以下错误:
Uncaught TypeError: _LocalityStore2.default.setSelectedLocality is not a function
但是 LocalityStore 具有函数 setSelectedLocality
。
代码片段:
主页布局:
<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。请帮忙。
它看起来(按照名称约定)就像您在 class 而不是实例上调用 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.setSelectedLocality 替换为 this.selectedLocality