react hook的todolist

感觉好长时间没写博客一样,app.js代码

import React from ‘react‘;
import  { useState } from ‘react‘;

function App() {
  const [input, setInput] = useState(‘‘); //
  const [inputList, setInputList] = useState([]); //
  let submitData=()=>{
    let arr=[]
    arr.push({
      value:input
    })
    arr = [...arr,...inputList]
    setInputList(arr)
  }
  let delLi=(e)=>{
    let index = e.target.getAttribute(‘data-index‘)
    let arr = JSON.parse(JSON.stringify(inputList))
    arr.splice(index,1)
    setInputList(arr)
  }
  return (
    <div>
      <input onInput={(e)=>{setInput(e.target.value)}}></input> <button onClick={submitData}>提交</button>
      <div>
        <ul>
          {
            inputList.map((val,index)=>{
              return <li onClick={(e)=>delLi(e)} key={index} data-index={index}>{val.value}</li>
            })
          }
        </ul>
      </div>
    </div>
  );
}

export default App;

Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。就是这样。且不要直接修改哦。

原文地址:https://www.cnblogs.com/zhensg123/p/11978736.html

时间: 2024-10-02 23:12:54

react hook的todolist的相关文章

[React] Detect user activity with a custom useIdle React Hook

If the user hasn't used your application for a few minutes, you may want to log them out of the application automatically in case they've stepped away from the machine and someone nefarious attempts to use their session. Let's checkout how you can cr

react综合案例-todolist、localstorage缓存数据

1.工具类storage.js var app ={ set(key,value){ localStorage.setItem(key,JSON.stringify(value)); }, get(key){ return JSON.parse(localStorage.getItem(key)); }, delete(key){ localStorage.removeItem(key); }, countFalseNum(key){ let count=new Number(0); let l

React Hook 下setState的回调

背景: React 的hook出现了已经很长一段时间了,最近着手想把以前的reacrt16.5.0的代码换成hook的写法Hook以前的写法:     ex: getDataInfo(dataId) { this.set({ dataId: dataId }, ()=>{ setDatainfo(dataId); }) } setDatainfo (dataId) { .....xxxxxx } 原以为直接 function getDataInfo(props) { const [dataId,

React Hook父组件获取子组件的数据/函数

我们知道在react中,常用props实现子组件数据到父组件的传递,但是父组件调用子组件的功能却不常用.文档上说ref其实不是最佳的选择,但是想着偷懒不学redux,在网上找了很多教程,要不就是hook的讲的太少,要不就是父子组件傻傻分不清,于是只好再啃了一下文档,就学了一下其它hook的api. 在这里我们需要用到useImperativeHandle这个api,其函数形式为 useImperativeHandle(ref, createHandle, [deps]) 其实这个api也是ref

React Hook

一.描述 Effect Hook 可以让你能够在 Function 组件中执行副作用(side effects): import { useState, useEffect } from 'react'; function Example() { const [count, setCount] = useState(0); // Similar to componentDidMount and componentDidUpdate: // 类似于 componentDidMount 和 Comp

Antd使用timePicker封装时间范围选择器(React hook版)

antd中提供了是日期范围选择器及datepaicker封装日期范围选择器的示例,但是没有时间选择范围的组件,这里使用两个timePicker组合一个事件范围选择器,通过disabled属性限定时间可选择范围:(ts+hook,支持form表单) 基本就是通过disabledHours. disabledMinutes.disabledSeconds分别判断结束时间大于开始时间,这里设置的最小时间差为0s. import React, { forwardRef } from 'react'; i

react新手demo——TodoList

react-todolist.gif 一: 写在文章开头 今天我们就使用 react 来实现一个简易版的 todolist ,我们可以使用这个 demo 进行 list 的增删改差,实际效果如上图所示.大家可以clone下来查看:react-todolist 这篇文章我们就不使用 redux,因为这个 demo 本身比较简单,不需要通过 redux 来管理我们的状态. redux中也有非常有名的一句话叫做: "如果你不知道是否需要 Redux,那就是不需要它." 我们废话不多说,直接进

[NPM + React] Prepare a Custom React Hook to be Published as an npm Package

Before we publish our package, we want to make sure everything is set up correctly. We’ll cover versioning, preparing our package, adding a proper README, and updating our package.json. Using npm version: The reason to use npm version to prumping the

Todolist分别用React与Vue的实现与思考

源码查看: React 版的TodoList: React Todolist Vue 版的TodoList: Vue Todolist