gpt4 book ai didi

javascript - Uncaught Error : Action is missing a listen method React/Reflux?

转载 作者:行者123 更新时间:2023-11-28 05:38:32 24 4
gpt4 key购买 nike

我是 React Redux 新手。这是我正在开发的一个简单应用程序。但错误是我无法通过 Action 连接到商店。

这是我的错误

utils.js:78 Uncaught Error: action is missing a listen method

主题列表.js

    var React = require('react');
var Reflux = require('reflux');
var TopicStore = require('../stores/topic-store');
var Actions = require('../actions');

module.exports = React.createClass({
mixins:[
Reflux.listenTo(TopicStore,'onChange')
],
getInitialState:function () {
return{
topics:[]
}
},
componentWillMount:function () {
//Actions.getTopics()
Actions.getTopics()
},
render:function () {
return <div className="list-group">
ToPic List
{this.renderTopics()}
</div>
},
renderTopics:function () {

return this.state.topics.map(function(topic) {
return <li key={topic.id}>
{topic.description}
</li>

})

},
onChange:function (evet,topics) {
this.setState({topics:topics})
}


});

actions.js

var Reflux = require('reflux');

module.exports = Reflux.createAction([
'getTopics',

]);

主题商店.js

    var Api = require('../utils/api');
var Reflux = require('reflux');
var Actions = require('../actions');


module.exports = Reflux.createStore({
listenables:[Actions],
getTopics:function () {
return Api.get('topics/defaults')
.then(function (json) {
this.topics = json.data;
this.triggerChange();
}.bind(this));
},
con:function () {
console.log('Working')
},
triggerChange:function () {
this.trigger('change',this.topics)

}
});

最佳答案

错误消息意味着您正在尝试收听无法收听的内容(即它没有监听方法。)

这意味着错误的来源可能是:

  1. listenables:[Actions]来自topic-store.js
  2. Reflux.listenTo(TopicStore,'onChange')来自topic-list.js

我相信是前者,因为actions.js中有一个拼写错误。 ,方法为 Reflux.createActions ,不是Reflux.createAction

关于javascript - Uncaught Error : Action is missing a listen method React/Reflux?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39147200/

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