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));
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
应该是你的store组件没有暴露出去吧?我也是犯了这个错误才发现的 你store应该用的是ES5的写法(其实我也是 TTT)