我正在使用 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 文档,但我似乎遗漏了一些东西,因为 CalcApp 没有按预期收听 todoListStore。
有没有人知道如何让这个(CalcApp)听回流商店(todoListStore)?