javascript - reflux报错:[object Object] is missing a listen method?
本文介绍了javascript - reflux报错:[object Object] is missing a listen method?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
写了一个很简单的reflux练习,浏览器报错:[object Object] is missing a listen method ,找不到原因在哪,求各位帮助,非常感谢!
store.js:
Reflux.createStore({
items:[],
listenables: [actions],
onGetAll () {
this.trigger({list:this.items});
},
onAdd(item){
this.items.push({name:item});
this.trigger({list:this.items});
},
onRemove(i){
this.items.remove(i);
this.trigger({list:this.items});
}
});
actions.js:
export default Reflux.createActions(['getAll','add','remove']);
component.js
export default class Todo extends React.Component{
componentDidMount() {
actions.getAll();
}
add(){
var item = this.refs.item.value;
this.refs.item.value='';
actions.add(item);
}
remove(i){
actions.remove(i);
}
render() {
//items用于乘放li的集合
let items;
if (this.state.list) {
items = this.state.list.map( (item,i) => {
return <li key = {i}>
{item.name}
<button onClick = {this.remove.bind(this,i)}>remove</button>
</li>
})
}
return (
<button onClick={this.add.bind(this)}>add</button>
)
}
}
ReactMixin.onClass(Todo, Reflux.connect(store));
解决方案
应该是你的store组件没有暴露出去吧?我也是犯了这个错误才发现的 你store应该用的是ES5的写法(其实我也是 TTT)
这篇关于javascript - reflux报错:[object Object] is missing a listen method?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文