当前位置:首页 > React

如何用react做增删

2026-03-31 17:49:37React

使用 React 实现增删功能

在 React 中实现增删功能通常涉及状态管理(如 useStateuseReducer)和列表渲染。以下是具体实现方法:

初始化状态

定义一个状态变量来存储列表数据,例如待办事项或用户列表:

const [items, setItems] = useState([
  { id: 1, text: 'Item 1' },
  { id: 2, text: 'Item 2' }
]);

添加功能

通过表单输入新数据并更新状态:

const addItem = (newItemText) => {
  const newItem = {
    id: Date.now(), // 使用时间戳作为唯一 ID
    text: newItemText
  };
  setItems([...items, newItem]);
};

删除功能

根据 ID 过滤掉要删除的项:

如何用react做增删

const deleteItem = (id) => {
  setItems(items.filter(item => item.id !== id));
};

完整组件示例

import React, { useState } from 'react';

function ItemList() {
  const [items, setItems] = useState([
    { id: 1, text: 'Item 1' },
    { id: 2, text: 'Item 2' }
  ]);
  const [inputValue, setInputValue] = useState('');

  const addItem = () => {
    if (!inputValue.trim()) return;
    const newItem = {
      id: Date.now(),
      text: inputValue
    };
    setItems([...items, newItem]);
    setInputValue('');
  };

  const deleteItem = (id) => {
    setItems(items.filter(item => item.id !== id));
  };

  return (
    <div>
      <input
        value={inputValue}
        onChange={(e) => setInputValue(e.target.value)}
        placeholder="Enter new item"
      />
      <button onClick={addItem}>Add</button>

      <ul>
        {items.map(item => (
          <li key={item.id}>
            {item.text}
            <button onClick={() => deleteItem(item.id)}>Delete</button>
          </li>
        ))}
      </ul>
    </div>
  );
}

关键注意事项

  • 为列表项添加唯一的 key 属性(如 item.id),帮助 React 高效更新 DOM。
  • 状态更新应使用不可变数据(如展开运算符 ...filter)。
  • 对于复杂状态逻辑,可考虑使用 useReducer 替代 useState

扩展功能

  • 添加编辑功能:通过状态记录当前编辑的项,并更新对应内容。
  • 使用 Context 或状态管理库(如 Redux)跨组件共享状态。
  • 添加本地存储(localStorage)持久化数据。

以上方法适用于大多数 React 应用场景,可根据具体需求调整实现细节。

标签: 如何用react
分享给朋友:

相关文章

如何react页面

如何react页面

创建 React 页面 使用 create-react-app 快速初始化项目: npx create-react-app my-app cd my-app npm start 基础页面结构 在 s…

如何优化react

如何优化react

优化 React 性能的方法 使用 React.memo 或 PureComponent 对于函数组件,使用 React.memo 进行记忆化,避免不必要的重新渲染。类组件可以使用 PureCompo…

react如何diff

react如何diff

React Diff 算法原理 React 的 Diff 算法是 Virtual DOM 的核心部分,用于高效更新真实 DOM。其核心思想是通过对比新旧 Virtual DOM 树的差异,最小化 DO…

react如何清理

react如何清理

清理 React 项目的方法 清理未使用的依赖项 运行 npm prune 或 yarn install --production 可以移除 node_modules 中未在 package.json…

react如何减少伤病

react如何减少伤病

减少React应用中的性能问题(避免"伤病") 优化React应用性能需要从组件渲染、状态管理和外部依赖等多方面入手。以下是关键优化策略: 使用React.memo进行组件记忆 对函数组件使用Rea…

如何监控react性能

如何监控react性能

使用 React Profiler API React 16.5 及以上版本内置了 Profiler API,可直接测量组件渲染时间。通过 <React.Profiler> 包裹目标组件,…