reactjs – 如何让React.js组件在Reflux中监听商店
发布时间:2020-12-15 16:18:58 所属栏目:百科 来源:网络整理
导读:我正在使用React.js和Reflux构建一个应用程序,我无法获取组件来收听商店. 首先,我已成功将我的商店与一个事件相关联,如下所示: 组件发送操作以存储: var CalcRow = React.createClass({ handleChange: function(){ // links to action in store.js TodoAct
我正在使用React.js和Reflux构建一个应用程序,我无法获取组件来收听商店.
首先,我已成功将我的商店与一个事件相关联,如下所示: 组件发送操作以存储: var CalcRow = React.createClass({ handleChange: function(){ // links to action in store.js TodoActions.costChange(); },render: function() { return(// redacted) } }); 行动: global.TodoActions = Reflux.createActions([ "costChange" // called by individual cost item input ]); 回收行动的商店: global.todoListStore = Reflux.createStore({ listenables: [TodoActions],onCostChange: function(){ alert('test1'); } }); 订阅/侦听商店的组件 var CalcApp = React.createClass({ mixins: [Reflux.listenTo(todoListStore,"onStatusChange")],onStatusChange: function() { alert('test2'); },getInitialState: function(){ return{ cat1: this.props.cat1 }; },render: function() { return (// redacted) } }); 我能够将第一个组件(CalcRow)连接到它的存储,并触发警报(‘test1’),但我没有成功使CalcApp监听todoListStore并让它发出警报(‘test2’). 我已经阅读了官方的Reflux docs,但似乎有一些我遗漏的东西,因为CalcApp没有像预期的那样收听todoListStore. 有没有人对我如何做到这一点有任何见解(CalcApp)听反馈商店(todoListStore)? 解决方法
你的商店不排放任何东西.你需要调用this.trigger:
global.todoListStore = Reflux.createStore({ listenables: [TodoActions],onCostChange: function(){ this.trigger('test1'); } }); docs (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |