templates/todo/web/react-fluent/src/reducers/listsReducer.ts (16 lines of code) (raw):
import { Reducer } from "react";
import { ActionTypes, TodoActions } from "../actions/common";
import { TodoList } from "../models"
export const listsReducer: Reducer<TodoList[], TodoActions> = (state: TodoList[], action: TodoActions): TodoList[] => {
switch (action.type) {
case ActionTypes.LOAD_TODO_LISTS:
state = [...action.payload];
break;
case ActionTypes.SAVE_TODO_LIST:
state = [...state, action.payload];
break;
case ActionTypes.DELETE_TODO_LIST:
state = [...state.filter(list => list.id !== action.payload)]
}
return state;
}