React函数式组件实现todoList

本文介绍如何使用React的function组件及Hooks实现一个简单的Todo List应用。主要功能包括:通过文本框输入内容并添加到列表中,以及点击按钮删除列表项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用function组件和hooks实现todoList的效果:

 功能实现步骤:

1.在文本框中输入内容,点击添加按钮,将内容加入列表中并展示;

2.点击每个item后的删除按钮删除该item,在视图中更新。

import React, {useState, useRef} from 'react';
import logo from './logo.svg';
import './App.css';


function App() {

  let [arr, setArr] = useState([]);
  let inputRef = useRef();

  // 点击按钮添加元素到数组中
  const add = () => {
    // 这里不能直接push,需要展开数组元素并添加新元素,组成一个新数组
    setArr([...arr, inputRef.current.value]);
    // 清空输入框
    inputRef.current.value = '';
  }

  // 删除元素
  const delItem = (index) => {
    arr.splice(index, 1);
    // 引用类型内存地址没改变,需要[...arr]改变内存地址,才会引发视图更新
    setArr([...arr]);
  }

  return (
    <React.Fragment>
      <input ref={inputRef} placeholder='请输入要添加的内容'/>
      <button onClick={add}>添加</button>
      <br/>
      <ul>
        {
          arr.map((item, index) => 
                  <li key={index}>{item}
                    {/*这里用箭头函数包裹,否则会在dom渲染时就触发事件函数*/}
                    <button onClick={() => delItem(index)}>删除</button>
                  </li>
          )
        }
      </ul>
    </React.Fragment>
  );
}

export default App;

完成。非常简单,但需要注意的细节很多。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值