DELETE FROM ARRAYS (TODO LIST)
FIRST WE MODIFY THE ADDTASK FUNCTION , WE ADD AN ARROW FUNCTION
DELETION CAN BE PERFORMED BY A TASK'S ID.
A DELETE BUTTON IS ADDED , ALONG THE SIDE OF TASK IN THE LIST. THE ID HAS TO BE SENT AS A PARAMETER TO THE DELETE FUNCTION.
HERE , THE ID HAS TO BE PASSED SO WE USE AN ARROW FUNCTION , IF WE DIRECTLY SEND AS <button onClick={deleteTask(task.id)}>delete</button>
HERE THE DELETE METHOD GETS EXECUTED, BUT WE DONOT WANT THAT, WE ONLY WANT THE ID PARAMETER TO BE SENT.
<ul>
{tasks.map((task) => (
<li key={task.id}>
<span>{task.task}</span>
<button onClick={() => deleteTask(task.id)}>delete</button>
</li>
))}
</ul>
DELETE FUNCTION
TO DELETE, WE USE FILTER METHOD.
THE FILTER METHOD , FILTERS OUT THE ITEMS BASED ON THE CONDITION.
let deleteTask = (id) => {
setTask((prevTask) => {
return tasks.filter((task) => task.id != id);
});
};
BY SENDING THE ID AS A PARAMETER TO THE FILTER METHOD WE CAN FILTER OUT THE TASKS AND DELETE.
let addTask = () => {
setTask((prevTask) => {
return [...prevTask, { task: newTask, id: uuidv4() }];
});
setNewTask("");
};
let updateChange = (event) => {
setNewTask(event.target.value);
};
let deleteTask = (id) => {
setTask((prevTask) => {
return tasks.filter((task) => task.id != id);
});
};



Comments
Post a Comment