У меня есть магазин рефлюкс, который, кажется, вызывает ошибку, когда запуск действие:не вызывая Реагировать событие правильно
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 говоря об ошибке является Uncaught TypeError: не удается прочитать свойство «применить» в неопределенном
стек вызовов в конечном счете получает меня к рефлюкса слушать метод:
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"),
],
...
Как выглядит код, вызывающий 'listen'? Я готов поспорить, что вы не проходите обратный вызов ... Я получил эту ошибку [здесь] (https://github.com/danesparza/GetTheFluxGist/blob/master/js/components/GistApp.react .js # L30), когда я забыл пройти в 'this._onChange' –
Код, вызывающий прослушивание, использует Reflux.connect mixin. Я добавил его к вопросу. – emacsen
Это может быть ошибка, поэтому я сделал короткую заметку об этом в [вопросительном трекере] (https://github.com/spoike/refluxjs/issues/219). Если у вас есть какая-либо другая информация, такая как версия рефлюкса, и ответьте, что вы используете, сообщите мне. – Spoike