у меня есть какие-то действия в рефлюкс действий, это мои действиярефлюкс listenAndPromise сделать действие много раз
var BeritaActions = Reflux.createActions({
'getListBerita': {
children: [
'actions', 'completed', 'failed'
]
},
'getBerita': {
children: [
'actions', 'completed', 'failed'
]
},
});
BeritaActions.getListBerita.listen(function(param)
{
return BeritaUtil.listBerita(param)
.on('error', this.failed)
.end(this.completed);
});
BeritaActions.getBerita.listenAndPromise(function(id)
{
return BeritaUtil.read(id)
.on('error', this.failed)
.end(this.completed);
});
это мой магазин, и слушать действия
Reflux.createStore({
onprogress: false,
type: null,
init()
{
this.listenTo(BeritaAct.getListBerita.completed, this.getInitData);
this.listenTo(BeritaAct.getListBerita.failed, this.getInitErrorData);
},
setType(type)
{
return this.type = type;
},
getCurrentData()
{
return _data;
},
getInitData(field)
{
console.log(field)
let data = JSON.parse(field.text);
if(data.meta.code == 200)
{
if(typeof _data[this.type] == 'undefined')//first open
{
//console.log('first')
_data[this.type] = data.data;
}else//on load more = merging data
{
//console.log(_data[this.type])
_data[this.type] = update(_data[this.type], {$merge: data.data});
}
this.trigger(_data);
}else
{
Toas.error({title:data.meta.message, content:''});
}
},...
так я выполнять действия в моем компоненты
React.createClass({
getInitialState()
{
if(Progress.isAjax())
{
Progress.onProgress(true);
BeritaStore.setType('list');
BeritaAct.getListBerita({});
}else
{
//not ajax
}
return {
showloader: {display: 'none'},
shownext: {display: 'block'}
};
},..
Магазин может хорошо слушать действия и может вернуться на мой компонент реакции. но когда я проверяю проверку сети, я получил запрос на действие много раз, я не знаю, что происходит?
Дон Не знаю, является ли это частью вашей проблемы, но у вас есть опечатка в .end (this.competed); '. Это должно быть «.end (this.completed)»; –