使用React实现一个简单的待办事项列表 | 青训营

56 阅读2分钟

引言:

在现代的Web开发中,React已经成为最流行的前端框架之一。本文将介绍如何使用React来实现一个简单的待办事项列表,使用户可以添加、编辑和删除待办事项。通过这个例子,你将了解React组件的创建、状态管理以及交互操作的实现。

一、创建React项目

首先,确保你已经安装了Node.js和npm,并使用以下命令创建一个新的React项目:

Copy Code
npx create-react-app todo-list
cd todo-list
npm start

二、创建TodoList组件

在src文件夹下创建一个名为TodoList.js的文件,并编写如下代码:

jsxCopy Code
import React, { useState } from 'react';

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

  const handleInputChange = (e) => {
    setInputValue(e.target.value);
  };

  const handleAddTodo = () => {
    if (inputValue.trim() !== '') {
      setTodos([...todos, inputValue]);
      setInputValue('');
    }
  };

  const handleEditTodo = (index) => {
    const newTodo = prompt('请输入新的待办事项');
    if (newTodo !== null && newTodo.trim() !== '') {
      const newTodos = [...todos];
      newTodos[index] = newTodo;
      setTodos(newTodos);
    }
  };

  const handleDeleteTodo = (index) => {
    const newTodos = todos.filter((_, i) => i !== index);
    setTodos(newTodos);
  };

  return (
    <div>
      <h1>待办事项列表</h1>
      <input type="text" value={inputValue} onChange={handleInputChange} />
      <button onClick={handleAddTodo}>添加</button>
      <ul>
        {todos.map((todo, index) => (
          <li key={index}>
            {todo}
            <button onClick={() => handleEditTodo(index)}>编辑</button>
            <button onClick={() => handleDeleteTodo(index)}>删除</button>
          </li>
        ))}
      </ul>
    </div>
  );
};

export default TodoList;

三、在App组件中使用TodoList组件

在src文件夹下的App.js文件中,替换掉原有的代码,并添加以下内容:

jsxCopy Code
import React from 'react';
import TodoList from './TodoList';

const App = () => {
  return (
    <div>
      <TodoList />
    </div>
  );
};

export default App;

四、运行应用程序

在终端中执行npm start命令,打开浏览器访问http://localhost:3000,你将看到一个简单的待办事项列表。你可以在输入框中输入待办事项的内容,点击"添加"按钮即可添加到列表中。同时,每个事项后面还有"编辑"和"删除"按钮,可以通过它们来编辑和删除相应的事项。

总结:

本文介绍了如何使用React来实现一个简单的待办事项列表。通过创建一个名为TodoList的组件,我们可以通过useState钩子来管理待办事项的状态,并使用一些简单的事件处理函数来实现添加、编辑和删除待办事项的功能。