• React中动态添加和删除元素


    React中,可以通过状态(state)和事件处理器(event handlers)来动态添加和删除元素。

    首先,需要使用状态(state)来存储要动态添加或删除的元素。可以使用useState钩子来创建一个状态变量,例如:

    const [items, setItems] = useState(['Item 1', 'Item 2', 'Item 3']);

    上面的代码创建了一个名为items的状态变量,并使用setItems函数来更新它。

    接下来,可以使用事件处理器(event handler)来响应用户的交互,例如:

    1. const handleAddItem = () => {
    2. setItems([...items, `Item ${items.length + 1}`]);
    3. };

    上面的代码创建了一个名为handleAddItem的事件处理器,它会将一个新的元素添加到items数组的末尾。可以使用...items来创建新的数组,并使用items.length + 1来生成新元素的索引。

    最后,在组件的渲染方法中,可以使用map()函数来遍历items数组,并为每个元素创建一个元素。例如:

    1. <ul>
    2. {items.map((item) => (
    3. <li key={item}>{item}</li>
    4. ))}
    5. </ul>

    上面的代码会为items数组中的每个元素创建一个

  • 元素。注意,每个
  • 元素都需要一个唯一的key属性,这里使用每个元素的索引作为key

    如果要动态删除元素,可以使用类似的方法。首先,创建一个事件处理器来处理删除操作。例如:

    1. const handleDeleteItem = (index) => {
    2. setItems(items.filter((_, i) => i !== index));
    3. };

    上面的代码创建了一个名为handleDeleteItem的事件处理器,它会根据提供的索引删除对应的元素。这里使用filter()函数来创建一个新的数组,其中不包含要删除的元素。

    接下来,在渲染方法中,可以使用条件语句来检查是否要显示删除按钮。例如:

    1. {items.map((item, index) => (
    2. <li key={item}>
    3. {item}
    4. <button onClick={() => handleDeleteItem(index)}>Delete</button>
    5. </li>
    6. ))}
  • 相关阅读:
    Webapck 解决:[webpack-cli] Error: Cannot find module ‘vue-loader/lib/plugin‘ 的问题
    Ubuntu20 安装 带cuda的opencv遇到的问题
    下一个倒下的是不是Genesis
    GC垃圾回收器详解
    Aspose.Words for .NET查找和替换教程——使用元字符查找和替换文本
    2022/9/25 考试总结
    多态的理解和使用
    【JavaEE】多线程(Part3线程安全)
    怡宝母公司冲刺上市:产能未满仍要募资扩产,突击分红25亿元
    Windows 输入法在注册表中的管理
  • 原文地址:https://blog.csdn.net/m0_73481765/article/details/134253048