当前位置:首页 > React

如何用react做增删

2026-03-10 18:23:36React

使用React实现增删功能

在React中实现增删功能通常涉及状态管理和事件处理。以下是实现增删操作的完整方法。

状态初始化

使用useState钩子来管理数据列表和输入值。创建一个数组状态存储数据,另一个状态存储输入框内容。

const [items, setItems] = useState([]);
const [inputValue, setInputValue] = useState('');

添加功能实现

创建处理添加的函数,更新状态数组。需要防止空值提交并清空输入框。

const handleAdd = () => {
  if (inputValue.trim() === '') return;
  setItems([...items, inputValue]);
  setInputValue('');
};

删除功能实现

通过filter方法创建新数组实现删除。根据索引或唯一ID移除特定项。

const handleDelete = (index) => {
  setItems(items.filter((_, i) => i !== index));
};

完整组件示例

import React, { useState } from 'react';

function CrudExample() {
  const [items, setItems] = useState([]);
  const [inputValue, setInputValue] = useState('');

  const handleAdd = () => {
    if (inputValue.trim() === '') return;
    setItems([...items, inputValue]);
    setInputValue('');
  };

  const handleDelete = (index) => {
    setItems(items.filter((_, i) => i !== index));
  };

  return (
    <div>
      <input
        value={inputValue}
        onChange={(e) => setInputValue(e.target.value)}
      />
      <button onClick={handleAdd}>添加</button>

      <ul>
        {items.map((item, index) => (
          <li key={index}>
            {item}
            <button onClick={() => handleDelete(index)}>删除</button>
          </li>
        ))}
      </ul>
    </div>
  );
}

使用唯一标识符

对于更复杂的场景,建议使用唯一ID而非索引作为key。

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

const handleAdd = () => {
  setItems([...items, {id: Date.now(), text: inputValue}]);
};

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

性能优化

对于大型列表,考虑使用React.memo或useCallback优化渲染性能。

const MemoizedItem = React.memo(function Item({item, onDelete}) {
  return (
    <li>
      {item.text}
      <button onClick={() => onDelete(item.id)}>删除</button>
    </li>
  );
});

表单提交处理

添加表单提交事件处理,支持回车键提交。

如何用react做增删

<form onSubmit={(e) => {
  e.preventDefault();
  handleAdd();
}}>
  <input
    value={inputValue}
    onChange={(e) => setInputValue(e.target.value)}
  />
  <button type="submit">添加</button>
</form>

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

相关文章

如何学react

如何学react

学习 React 的基础知识 React 是一个用于构建用户界面的 JavaScript 库。学习 React 的第一步是掌握其核心概念,包括组件、状态(State)、属性(Props)和生命周期方法…

react 如何执行

react 如何执行

安装 React 确保 Node.js 安装在本地环境中。通过以下命令创建新的 React 项目: npx create-react-app my-app 进入项目目录并启动开发服务器:…

react如何重置

react如何重置

重置 React 应用的状态 使用 useState 钩子重新初始化状态变量是最直接的方法。将状态变量重置为初始值或空值即可完成重置。 const [count, setCount] = useSt…

odyssey react 如何

odyssey react 如何

Odyssey React 是耐克推出的一款跑鞋系列,以其轻量化设计和React泡沫缓震技术著称。以下是关于该系列鞋款的主要特点和使用建议: 核心特点 React泡沫中底提供出色的能量回馈和缓震效果…

react项目如何启动

react项目如何启动

启动React项目的步骤 确保已安装Node.js(建议版本12以上)和npm/yarn。可通过以下命令检查版本: node -v npm -v 全局安装create-react-app脚手架工具(…

react如何检测窗口

react如何检测窗口

监听窗口大小变化 使用useEffect钩子和resize事件监听窗口尺寸变化。在组件挂载时添加事件监听器,卸载时移除监听器以避免内存泄漏。 import { useState, useEffect…