React中函数式Hooks之useState的使用

简介: 本文介绍了React中函数式组件的Hooks——`useState`的使用方法。`useState`允许在函数式组件中使用状态,它返回一个数组,其中包含当前状态的值和更新该状态的函数。文章通过示例代码展示了如何声明状态变量和更新状态变量,包括对数值和对象状态的更新。此外,还展示了如何通过点击按钮触发状态更新,实现交互功能。

useState

首先不同于class组件这个组件中没有this

/*
 * @Descripttion: 
 * @version: 
 * @Author: ZhangJunQing
 * @Date: 2021-11-11 11:12:01
 * @LastEditors: ZhangJunQing
 * @LastEditTime: 2021-11-26 11:17:06
 */

function Demo() {
   
    //useState中传入的参数是默认值
    // useState 返回的是一个数组 这个数组的第一项是当前的状态 第二项是个函数 用于更新第一项的状态
    // [状态,改变状态的函数]
    let [num, setNum] = React.useState(0)
    let [zjqName, setzjqName] = React.useState({
   name:'zjq'})
    const changeNum = () => {
   
        setNum(num + 1)
    }
    const changeName =()=>{
   
        setzjqName(zjqName=>{
   
            return {
   
                ...zjqName,
                name:"hahahah"
            }
        })
    }
    return (
        <div >
            我现在的num数值是 : {
   num}
            <button onClick={
   changeNum}>点我num加1</button>
            我的名字是 : {
   zjqName.name}
            <button onClick={
   changeName}>点我改变name</button>
        </div>
    )
}

export default Demo

React.useState(0):
1.这个方法会返回一个数组,[状态,改变状态的函数];
2.这个数组的第一项是当前的状态 第二项是个函数 用于更新第一项的状态;
3.useState传入的值就是num这个变量的初始值,也就是默认值。
在这里插入图片描述
点击按钮出发changeNum方法,在这个方法中调用setNum这个方法,并将最近的num值传入进入,即完成了num这个变量状态的更新。

目录
相关文章
|
2天前
|
前端开发 JavaScript
React_函数式Hooks和Class比较优缺点
React Hooks与Class组件都能返回JSX并接收props,但Hooks无`this`指向问题,用`useEffect`模拟生命周期,`memo`优化性能,状态更新用`useState`;Class组件通过生命周期方法、`PureComponent`或`shouldComponentUpdate`优化,状态用`this.state`和`this.setState`管理。
10 1
React_函数式Hooks和Class比较优缺点
|
1天前
|
前端开发 JavaScript API
深入探索React Hooks与状态管理
深入探索React Hooks与状态管理
7 2
|
2天前
|
前端开发 JavaScript
React中函数式Hooks之useRef的使用
React中函数式Hooks的useRef用于获取DOM元素的引用,示例代码演示了其基本用法。
12 3
|
2天前
|
缓存 前端开发
React中函数式Hooks之memo、useCallback的使用以及useMemo、useCallback的区别
React中的`memo`是高阶组件,类似于类组件的`PureComponent`,用于避免不必要的渲染。`useCallback` Hook 用于缓存函数,避免在每次渲染时都创建新的函数实例。`memo`可以接收一个比较函数作为第二个参数,以确定是否需要重新渲染组件。`useMemo`用于缓存计算结果,避免重复计算。两者都可以用来优化性能,但适用场景不同:`memo`用于组件,`useMemo`和`useCallback`用于值和函数的缓存。
9 1
|
2天前
|
前端开发
React使用hooks遇到的坑_state中的某几个属性数据变成了空字符
本文讨论了在React使用hooks时遇到的一个问题:state中的某些属性数据变成了空字符。作者通过在修改函数中重新解构赋值来获取最新的state值,解决了因数据更新不及时导致的问题。
8 0
|
2天前
|
缓存 前端开发
React中函数式Hooks之useMemo的使用
React的`useMemo` Hook 用于优化性能,通过记忆返回值避免重复计算。它接收一个函数和一个依赖数组,只有当依赖项改变时,才会重新计算被记忆的值。这可以用于避免在每次渲染时都进行昂贵的计算,或者防止子组件不必要的重新渲染。例如,可以在父组件中使用`useMemo`包裹子组件,以依赖特定的props,从而控制子组件的渲染。
9 0
|
1月前
|
前端开发 JavaScript UED
React 基础与实践 | 青训营笔记
React 基础与实践 | 青训营笔记
41 0
|
2月前
|
前端开发 JavaScript Java
React 速通笔记
【7月更文挑战第17天】
36 1
|
前端开发
前端学习笔记202305学习笔记第二十九天-React keep alive原理之2
前端学习笔记202305学习笔记第二十九天-React keep alive原理之2
70 0
|
前端开发
前端学习笔记202306学习笔记第四十八天-react-admin marmelab之8
前端学习笔记202306学习笔记第四十八天-react-admin marmelab之7
47 0