Create Todo version 2
[Début de la branche step-8]
Mettre à jour notre action de createTodo pour inclure une requête serveur de la même façon que InitTodos. Il n'y aura pas une action CREATE_TODO, mais trois :
LOAD_CREATE_TODO ;
SUCCESS_CREATE_TODO ;
ERROR_CREATE_TODO.
todo-list.action.ts
import { Todo } from '../../models/todo';
export namespace TodoListModule {
export enum ActionTypes {
// [...]
LOAD_CREATE_TODO = '[todoList] Load Create Todo',
SUCCESS_CREATE_TODO = '[todoList] Success Create Todo',
ERROR_CREATE_TODO = '[todoList] Error Create Todo',
// CREATE_TODO = '[todoList] Create Todo',
}
// [...]
/*
export class CreateTodo {
readonly type = ActionTypes.CREATE_TODO;
constructor(public payload: Todo) {}
}
*/
export class LoadCreateTodo {
readonly type = ActionTypes.LOAD_CREATE_TODO;
constructor(public payload: Todo) {}
}
export class SuccessCreateTodo {
readonly type = ActionTypes.SUCCESS_CREATE_TODO;
constructor(public payload: Todo) {}
}
export class ErrorCreateTodo {
readonly type = ActionTypes.ERROR_CREATE_TODO;
}
// [...]
export type Actions = DeleteTodo
| LoadCreateTodo
| SuccessCreateTodo
| ErrorCreateTodo
// [...]
//| CreateTodo;
}Ajouter les nouvelles actions dans le reducer :
Créer un service de post :
Ajouter l'effect qui écoutera les actions de type LOAD_CREATE_TODO :
Changer l'action lors du clique. Ainsi, on peut retirer la notion d'id car le serveur définira son propre id à la todo :
all-todos.ts
L'action de createTodo est maintenant connectée avec le serveur.
Last updated
Was this helpful?