ADD A NEW FEATURE MARK AS DONE

 HERE,WE ADD A NEW BUTTON FOR EACH TASK CALLED DONE. WHEN CLICKED THE TASK STYLING CHANGES TO LINE THROUGH. IT GETS id AS A PARAMETER THROUGH  WHICH A SINGLE TASK IS MARKED AS DONE.

TO ADD THIS FEATURE , A NEW PROPERTY IS ADDED IN THE TASK OBJECT isDone

    { task: "sampleTask", id: uuidv4(), isDone: false },

WHICH IS BY DEFAULT SET TO FALSE. WHEN CLICKED ON DONE BUTTON IT CHANGES TO TRUE.

WHEN isDone:true STYLING IS ADDED(LINE-THROUGH)


  let markAsDone = (id) => {
    setTask((prevTask) =>
      prevTask.map((task) => {
        if (task.id == id) {
          return {
            ...task,
            isDone: true,
          };
        } else {
          return task;
        }
      })
    );
  };

ADDING STYLING

            <span style={task.isDone ? { textDecoration: "line-through" } : {}}>


WE CAN ALSO ADD A FEATURE, MARK ALL AS DONE.

(UPDATE ALL)

  let allDone = () => {
    setTask((prevTask) =>
      prevTask.map((task) => {
        return {
          ...task,
          isDone: true,
        };
      })
    );
  };






Comments

Popular posts from this blog

DEPENDENCIES IN useEffect()

ACTIVITY1

CONDITIONALS