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)がRefluxストア(todoListStore)をリッスンする方法について誰かが洞察していますか?