import React, { useEffect, useRef, useState } from "react"; function usePrevious(value) { const ref = useRef(); useEffect(() => { ref.current = value; }); return ref.current; } export default function Todo(props) { const [isEditing, setEditing] = useState(false); const [newName, setNewName] = useState(''); const editFieldRef = useRef(null); const editButtonRef = useRef(null); const wasEditing = usePrevious(isEditing); function handleChange(e) { setNewName(e.target.value); } function handleSubmit(e) { e.preventDefault(); if (!newName.trim()) { return; } props.editTask(props.id, newName); setNewName(""); setEditing(false); } const editingTemplate = (
); const viewTemplate = (