Dispatcher
- Оповещать все зависимые Stores
- Управлять последовательностью обновлений
- Устранять циклические зависимости
Action creators
- UI Actions
- Web API Actions
- Developers API Actions
Пример
var todoActions = {
createTodo: function(text) {
AppDispatcher.dispatch({
type: 'create_todo',
data: {
...
}
});
//----Maybe-----
utils.sendToServer(text);
}
deleteTodo: function(id) {
...
}
}
Что не так?
type: 'create_todo'
- 'create todo'
- 'CreateTodo'
- 'CREATE_TODO'
- ....
Constants
ActionTypes = keyMirror({
CREATE_TODO: null,
DELETE_TODO: null,
ASIGN_TODO: null,
DELETE_FINISHED: null
});
var todoActions = {
createTodo: function(text) {
AppDispatcher.dispatch({
type: ActionTypes.CREATE_TODO,
data: {
...
}
});
//----Maybe-----
utils.sendToServer(text);
}
Назад в Store
function TodoStore() {
...
this.dispatchToken = AppDispatcher.register(function (action) {
switch (action.actionType) {
case actionTypes.CLICK_TODO:
AppDispatcher.waitFor([
subItemsStore.dispatchToken,
commentsStore.dispatchToken
]);
break;
}
}
}
Dispatcher
By Roman Iakobchuk
Dispatcher
- 1,076