搞懂react中Hooks 状态的用法(案例讲解)

前言

本篇文章带大家学习react中hooks的用法,自己也是在学习过程中进行记录,如果有总结不恰当的地方欢迎大家指出来,一起交流~

Hook简介

为什么会出现Hook

1.在我们之前对react的学习中我们知道,class组件可以定义自己的state,用来保存组件自己内部的状态,function组件是没有状态的,因为函数式组件的变量他是局部的,每次调用都会开辟新的空间和新的变量,函数运行完毕以后,变量会被回收。
2.class组件有生命周期,我们可以在对应的生命周期中完成自己的逻辑,class组件在状态改变的时候会重新去执行render方法。而函数式组件在重新渲染的时候,会全部执行,又没有办法去调用componentDidUpdate,并且没有自己的状态。

什么是Hook

Hook是React16.8的新增特性。它可以让你在不编写class组件的情况下使用state以及其他的React特性(生命周期方法)。
Hook的出现,是开创性的,它解决了之前React存在的很多问题,比如说HOC的嵌套问题。

Hook的使用场景

  1. Hook的出现,基本可以替代我们之前所使用的calss组件的地方
  2. 在旧的项目中,不需要直接重构为Hook
  3. Hook只能在函数组件中使用,不能在类组件,或者函数组件之外的地方使用

Hook的使用原则

  1. 不要在循环里面、条件判断或者分支里面去使用Hook,只能在函数的最外层调用
  2. 只能在react函数组件中使用hook
  3. 单独在一个useState我们称之为hook,Hooks是对一类Hook的总称。

Hook实现累加器

在使用hook之前,我们先使用之前学习的类组件来实现累加器:

export class Add extends Component {
   
    state = {
    count: 1 }
    render() {
   
        return (
            <div>
                <h1>{
   this.state.count}</h1>
                <button onClick={
   this.add}>点击</button>
            </div>
        )
    }
    
    add = () => {
   
        this.setState({
   count: this.state.count + 1})
    }
}

比较简单,大家应该都能很快的实现,下面来使用hook实现这个累加器:
1.头部我们要引用一个新的东西useState,后面需要使用它
2.useState本身是一个函数,调用之后返回一个数组,第一项是状态,第二项是修改和设置我们状态的函数方法
3.定义一个state接收arr[0],定义变量setState为arr[1],也就是拿到第二项函数
4.给按钮绑定点击事件,实现累加效果

import React, {
    useState } from 'react'
export default function App() {
   
    const arr = useState(0)
    const state = arr[0]
    const setState = arr[1]
    return (
 
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Beiyux

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值