返回

React打造多功能TodoList

前端

大家好,今天我将为大家带来React打造多功能TodoList的教程。TodoList是一个非常受欢迎的任务管理工具,可以帮助您轻松记录和管理您的待办事项。本文将介绍如何使用React快速构建一个功能完善的TodoList。

  1. 新建TodoList组件

首先,我们需要创建一个新的TodoList组件。为此,请在您的项目目录中创建一个名为TodoList.js的文件,并输入以下代码:

import React, { useState } from "react";

const TodoList = () => {
  const [todos, setTodos] = useState([]);

  const addTodo = (todo) => {
    setTodos([...todos, todo]);
  };

  const removeTodo = (todo) => {
    setTodos(todos.filter((t) => t !== todo));
  };

  const markTodoAsDone = (todo) => {
    setTodos(
      todos.map((t) => {
        if (t === todo) {
          return { ...t, isDone: true };
        }
        return t;
      })
    );
  };

  return (
    <div>
      <input type="text" placeholder="Add a todo" onKeyPress={(e) => { if (e.key === 'Enter') { addTodo(e.target.value) } }}/>
      <ul>
        {todos.map((todo, index) => (
          <li key={index}>
            <input type="checkbox" checked={todo.isDone} onChange={() => { markTodoAsDone(todo) }}/>
            {todo.text}
            <button onClick={() => { removeTodo(todo) }}>X</button>
          </li>
        ))}
      </ul>
    </div>
  );
};

export default TodoList;
  1. 添加任务

在TodoList组件中,我们使用useState()状态管理钩子来管理任务列表。addTodo()函数用于将新任务添加到列表中。

  1. 删除任务

removeTodo()函数用于从列表中删除任务。

  1. 标记任务为已完成

markTodoAsDone()函数用于将任务标记为已完成。

  1. 渲染TodoList

最后,我们使用map()函数渲染任务列表。每个任务都有一个复选框、一个文本和一个删除按钮。

这就是使用React构建多功能TodoList的完整代码。您可以在自己的项目中使用它来管理您的任务。

希望本教程对您有所帮助。如果您有任何问题或建议,请随时给我留言。