Made task updating working, fixed task removal (i almost fogot how to use array mutationing methods)

This commit is contained in:
2021-10-17 17:26:16 +03:00
parent 32d388423b
commit 91fb0d873a
2 changed files with 24 additions and 8 deletions

View File

@@ -3,16 +3,25 @@ import { createSlice, PayloadAction } from "@reduxjs/toolkit";
import { TaskItemT } from "../../types";
const initialState: { tasks: TaskItemT[] } = {
tasks: [],
tasks: [
{ done: true, id: 1, text: "hello" },
{ done: false, id: 2, text: "goodbye" },
],
};
export const todoSlice = createSlice({
name: "todo",
initialState,
initialState: initialState,
reducers: {
add: (state, { payload }: PayloadAction<TaskItemT>) => {
state.tasks.push(payload);
},
updateText: (
state,
{ payload }: PayloadAction<{ index: number; text: string }>
) => {
state.tasks[payload.index].text = payload.text;
},
markDone: (
state,
{ payload }: PayloadAction<{ index: number; value: boolean }>
@@ -20,11 +29,11 @@ export const todoSlice = createSlice({
state.tasks[payload.index].done = payload.value;
},
remove: (state, { payload }: PayloadAction<number>) => {
state.tasks.splice(payload);
state.tasks.splice(payload, 1);
},
},
});
export const { add, markDone, remove } = todoSlice.actions;
export const { add, updateText, markDone, remove } = todoSlice.actions;
export default todoSlice.reducer;