gpt4 book ai didi

javascript - 没有正确触发 React 事件

转载 作者:行者123 更新时间:2023-11-29 17:00:51 26 4
gpt4 key购买 nike

我有一个 Reflux 存储,它在触发操作时似乎会导致错误:

var taskStore = Reflux.createStore({
listenables: [taskActions],
init: function(){
this.tasks = [];
this.index = {};
this.trigger(this.tasks);
},
onLoad: function(arr){
var idx = {}
arr.forEach(function(ele){
idx[ele.id] = ele
});
this.tasks = arr;
this.index = idx;
this.trigger(arr);
}
});

当操作 load 被调用并且 onLoad 方法触发时,它在 this.trigger 方法上失败,Chrome 说错误是未捕获的类型错误:无法读取未定义的属性“应用”

调用堆栈最终让我进入 Reflux 监听方法:

listen: function(callback, bindContext) {
bindContext = bindContext || this;
var eventHandler = function(args) {
callback.apply(bindContext, args);
}, me = this;
this.emitter.addListener(this.eventLabel, eventHandler);
return function() {
me.emitter.removeListener(me.eventLabel, eventHandler);
};
},

它是 callback.apply 中的回调,但看起来由于某种原因该回调未定义。

我显然做错了什么来触发如此深的错误,但我不知道是什么。谁能告诉我我在店里做错了什么?

调用商店的代码是这样调用的:

var App = React.createClass({
mixins: [
Reflux.connect(taskStore,"tasks"),
Reflux.connect(taskIndex, "index"),
],
...

最佳答案

我遇到了同样的问题。就我而言,声明组件时是我的错:

global.FilmList = React.createClass({
mixins: [Reflux.connect(filmListStore, "list")],
componentDidMount: function() {
this.listenTo(filmListStore, this.eventChange);
},
render: function() {

我已经设置了 mixins 和 this.listenTo() 方法。我已经删除了 this.listenTo() 并且这解决了问题

关于javascript - 没有正确触发 React 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28179086/

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