mirror of
https://github.com/microsoft/frontend-bootcamp.git
synced 2026-01-26 14:56:42 +08:00
adding step 2.4 and 2.5 exercises
This commit is contained in:
@@ -5,11 +5,7 @@ import { composeWithDevTools } from 'redux-devtools-extension';
|
||||
|
||||
const store = createStore(reducer, {}, composeWithDevTools());
|
||||
|
||||
store.dispatch(actions.addTodo('hello'));
|
||||
|
||||
let action = actions.addTodo('world');
|
||||
store.dispatch(action);
|
||||
|
||||
store.dispatch(actions.remove(action.id));
|
||||
// TODO: try doing some store.dispatch() calls here
|
||||
// HINT: remember to use the functions inside "actions" object
|
||||
|
||||
console.log(store.getState());
|
||||
|
||||
@@ -6,7 +6,7 @@ export const todosReducer = createReducer<Store['todos']>(
|
||||
{},
|
||||
{
|
||||
addTodo(state, action) {
|
||||
state[action.id] = { label: action.label, completed: false };
|
||||
// TODO: implement this reducer
|
||||
},
|
||||
|
||||
remove(state, action) {
|
||||
@@ -14,10 +14,6 @@ export const todosReducer = createReducer<Store['todos']>(
|
||||
},
|
||||
|
||||
clear(state, action) {
|
||||
state[action.id].completed = !state[action.id].completed;
|
||||
},
|
||||
|
||||
complete(state, action) {
|
||||
Object.keys(state).forEach(key => {
|
||||
if (state[key].completed) {
|
||||
delete state[key];
|
||||
@@ -25,8 +21,12 @@ export const todosReducer = createReducer<Store['todos']>(
|
||||
});
|
||||
},
|
||||
|
||||
complete(state, action) {
|
||||
// TODO: implement this reducer
|
||||
},
|
||||
|
||||
edit(state, action) {
|
||||
state[action.id].label = action.label;
|
||||
// TODO: implement this reducer
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user