Почти все обучающие материалы, которые я нашел о потоке, испускают только одно событие в хранилище (emitChange). Я действительно не знаю, что это намеренно или просто следствие простоты учебников.
Я пытаюсь реализовать хранилище, соответствующее архитектуре CRUD, и мне интересно, будет ли это хорошим дизайнерским решением испускать разные события для каждого метода CRUD.
Соответствующая часть одного из моих магазинов выглядит следующим образом:
var UserStore = _.extend({}, EventEmitter.prototype, {
emitChange: function() {
this.emit('change');
},
emitUserAdded: function() {
this.emit('userAdded');
},
emitUserUpdated: function() {
this.emit('userUpdated');
},
emitUserDeleted: function() {
this.emit('userDeleted');
},
// addListener, removeListener in the same manner
});
Если мой подход неверен, как я могу сообщить моим компонентам тип события, которое произошло (например: удалить или обновить)