gpt4 book ai didi

reactjs - 如何让 React.js 组件监听 Reflux 中的存储

转载 作者:行者123 更新时间:2023-12-03 13:42:33 28 4
gpt4 key购买 nike

我正在使用 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)吗?

最佳答案

您的商店不排放任何东西。您需要调用 this.trigger:

global.todoListStore = Reflux.createStore({

listenables: [TodoActions],
onCostChange: function(){
this.trigger('test1');
}
});

docs

关于reactjs - 如何让 React.js 组件监听 Reflux 中的存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30538701/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com