Хочу при нажатии на кнопку скрывать элемент массива как бы в "disabled"

Обычный ToDo App проект для себя. С удалением одного элемента массива из списка элементов вроде понятно все. Но не могу понять как реализовать функцию, которая будет изменять один элемент, делая его как бы "disabled", чтобы весь инпут становился прозрачным, и оставались только серый бордер с текстом внутри. Так же при повторном нажатии нужно, чтобы компонент снова становился нормальным.

import TodoForm from "./components/Todos/TodoForm"
import TodoList from "./components/Todos/TodoList"
import "./App.css"

function App() {
    const [todos, setTodos] = userState([])
    const addTodoHandler = (text) => {
        setTodos([...toods, text])
    }

    const deleteTodoHandler = (index) => {
        setTodos(todos.filter((_, idx) => idx !== index))
    }
    
    const completeTodoHandler = () => {}

    return (
        <div className="App">
            <h1>Todo App</h1>
            <todoForm addTodo={addTodoHandler} />
            <todoList
                 todos={todos}
                 deleteTodo={deleteTodoHandler}
                 completeTodo={completeHandler}
            />
        </div>
    )
}

export default App

Рендер списка компонентов:

import Todo from "./Todo"
import styles from "./TodoList.module.css"

function TodoList({ todos, deleteTodo, completeTodo }) {
  return (
    <div className={styles.todoListContainer}>
      {!todos.length && <h2>Todo list is empty</h2>}
      {todos.map((todo, index) => (
        <Todo
          key={index}
          todo={todo}
          index={index}
          deleteTodo={deleteTodo}
          completeTodo={completeTodo}
        />
      ))}
    </div>
  )
}

export default TodoList

Сам компонент:

import { RiTodoFill } from "react-icons/ri"
import { FaTrash } from "react-icons/fa"
import { BsCheckSquareFill } from "react-icons/bs"
import styles from "./Todo.module.css"

function Todo({ todo, index, deleteTodo, completeTodo }) {
  return (
    <div className={styles.todo}>
      <RiTodoFill className={styles.todoIcon} />
      <div className={styles.todoText}>{todo}</div>
      <FaTrash
        className={styles.todoIconDelete}
        onClick={() => deleteTodo(index)}
      />
      <BsCheckSquareFill
        className={styles.todoIconComplete}
        onClick={() => completeTodo(index)}
      />
    </div>
  )
}

export default Todo

введите сюда описание изображения


Ответы (0 шт):