首页 > 其他分享 >react中Hooks的理解和用法

react中Hooks的理解和用法

时间:2023-02-19 01:44:05浏览次数:45  
标签:salary return Hooks 用法 react let 组件 console useEffect

一、Hooks是什么?

Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性

至于为什么引入hook,官方给出的动机是解决长时间使用和维护react过程中常遇到的问题,例如:

  • 难以重用和共享组件中的与状态相关的逻辑
  • 逻辑复杂的组件难以开发与维护,当我们的组件需要处理多个互不相关的 local state 时,每个生命周期函数中可能会包含着各种互不相关的逻辑在里面
  • 类组件中的this增加学习成本,类组件在基于现有工具的优化上存在些许问题
  • 由于业务变动,函数组件不得不改为类组件等等

在以前,函数组件也被称为无状态的组件,只负责渲染的一些工作

因此,现在的函数组件也可以是有状态的组件,内部也可以维护自身的状态以及做一些逻辑方面的处理

 

二、有哪些?具体用法

1、useState

作用:为函数式组件提供动态属性

语法:let [默认数据变量, 修改数据的方法] = useState('默认数据')

  1. 修改 基本数据类型:修改这个数据的方法(最新的数据)

  2. 修改复杂数据类型 数组:修改数据方法(()=>{return [ ...新的数据]})

  3. 修改复杂数据类型 对象:修改数据方(()=>{...原数据state, 更新的属性数据})

// 引入useState
import { useState } from "react";

// hooks 为函数式组件提供一个属性

// 作用 => 为函数式组件提供动态数据

// 语法 => let [默认数据变量,修改这个数据的方法] = useState('默认数据')

// // 1. 修改的是 基本数据类型
// function App(){
//   // 这里组件有一个动态的数据
//   // let salary=1800;
//   // 动态的数据 =》 useState
//   let [salary,setSalary]=useState(1800);
//   const changeSalary=()=>{
//     // 让salary => 改变值 => useState 处理的是基本数据类型
//     // setSalary(最新的数据) => salary 是最新的数据

//     setSalary(2000)

//   }
//   return (
//     <div>
//         <h2>我的工资{salary}</h2>
//         <button onClick={()=>changeSalary()}>修改数据</button>
//     </div>
//   );
// }

// // 2.修改复杂数据类型之 数组
// function App() {
//   // 动态数据 => 数组
//   let [list, setList] = useState(["

标签:salary,return,Hooks,用法,react,let,组件,console,useEffect
From: https://www.cnblogs.com/chccee/p/17134124.html

相关文章

  • 线段树以及其高级用法
    1.线段树2.动态开点及标记永久化3.线段树的分裂和合并4.李超线段树5.zkw线段树6.树套树7.线段树分治8.猫树......
  • reactor rabbitmq 实现RPC远程调用
    照着官方文档上写,最后发现在消费端怎么也返回不了数据。在文档中也找不到怎么返回数据,查看官方demo也没有案例,各种搜索都找不到。最后在源码中发现有一个RpcServer类,经过......
  • #yyds干货盘点 react笔记之学习之state组件
    前言我是歌谣我有个兄弟巅峰的时候排名c站总榜19叫前端小歌谣曾经我花了三年的时间创作了他现在我要用五年的时间超越他今天又是接近兄弟的一天人生难免坎坷大不了从......
  • #yyds干货盘点 react笔记之学习之state注意事项
    前言我是歌谣我有个兄弟巅峰的时候排名c站总榜19叫前端小歌谣曾经我花了三年的时间创作了他现在我要用五年的时间超越他今天又是接近兄弟的一天人生难免坎坷大不了从......
  • react项目搭建
    前提:安装Nodejs环境 #全局安装脚手架npmicreate-react-app-g#project-name项目名称create-react-appproject-name方式二:使用npx替代npm 推荐使用......
  • Git的版本和分支管理(高级用法 写的较好)(转载)
    本地的分支管理创建分支,你可以使用​​gitbranchdev​​这就创建了一个dev(development之意),更好的,选择使用下面的方法创建两个分支——dev,创建后会自动切换到新创建的分......
  • vue中执行异步函数async和await的用法
    在开发中,可能会遇到两个或多个函数异步执行的情况,对于Vue中函数的异步函数执行做了一个小总结,如下:异步执行使用async和await完成created(){this.init()},methods:{......
  • react知识点汇总
    一、react认识用于构建用户界面的JavaScript库二、创建react项目:react脚手架创建react项目,创建新的react应用npxcreate-react-appmy-appcdmy-appnpm......
  • react-事件绑定this的指向
    三种方式:     ......
  • python 的 match case 用法详解
    Python3.10实现的match功能是其他开发语言中传统的switch的超集,它不仅仅是switch,可以实现更为复杂的功能。模式匹配大大增加了控制流的清晰度和表达能力。背景......