React18中的常用hooks

本文介绍了React中的关键概念,包括React库简介、JSX语法、声明式编程特点,以及useState、useEffect和useRef三个核心Hook的用途、语法和示例。这些Hook简化了状态管理和副作用操作,使React组件开发更高效便捷。
摘要由CSDN通过智能技术生成

一、React简介

        一句话概括,React就是用于构建用户界面的JS库。React中文官方文档

        React的特点:JSX语法、声明式编程、组件化开发、单项数据绑定、虚拟DOM

二、hooks简介

        在React中以 use 开头的函数被称为 Hook。使用 hooks 可以更方便地在函数式组件中管理状态和生命周期。hooks 提供了更灵活、简洁的方式来编写 React 组件。

注意:hooks只能在 组件的顶层 或自己的 Hook 中调用它。不能在循环或条件语句中调用它。

三、useState

作用:useState用于为函数组件提供状态(state)

基本语法:

const [state, setState] = useState(initialState);

返回值:

useState的返回值是一个数组,数组里面有两个参数。state:当前的状态值。setState:更新状态值的函数(可以是回调函数)

参数:

useState的参数可以是任何类型的值。initialState:状态的初始值,在首次渲染时与state 相匹配

示例:计数器(点击按钮count加一)

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

export default const NewCount = ()=> {
    const [ count,setCount ] = useState(0)//hooks方法放在组件最上面
    addCount = ()=> {
        setCount(count++)
    }
   return (
       <>
           <p> { count }</p>
           <button onClick={ addCount }>点我加一</button>
       </>
   )
}

四、useEffect

作用:useEffect 可以在函数组件中执行副作用操作和模拟React中类组件的生命周期

基本语法:

useEffect(setup, [dependencies]?)

参数:

有两个参数。setup:处理 Effect 的函数。dependencies(可选参数):是一个数组,数组里是要监听的数据变量名

示例:模拟react类组件生命周期(挂载后、更新后、卸载前)

import React, { useEffect, useState } from 'react'

export default function UseEffect() {
    const [msg,setMsg] = useState('hello,蒙面大婶!')
    useEffect(() => {
        const timer = setInterval(()=> console.log('定时器'),2000)
        console.log('使用useEffect模拟挂载后的声明周期');
        return () => {
            // 清除定时器
            clearInterval(timer)
            console.log('使用useEffect模拟卸载前的声明周期1');
        }
    })
    useEffect(()=>{
        // 给useEffect传入第二个参数,第二个参数是一个数组,数组里是要监听的数据变量名
        console.log('使用useEffect模拟更新后的声明周期2');
    },[msg])
  return (
    <div>
        <h1>{msg}</h1>
        <button onClick={()=>setMsg('蒙面二婶')}>改名</button>
    </div>
  )
}

五、useRef

作用:ref 是一种访问 DOM 的主要方式。

基本语法:

const ref = useRef(initialValue)

返回值:

useRef返回只有一个属性(current)的对象。current:初始值为传递的 initialValue。如果将 ref 对象作为一个 JSX 节点的 ref 属性传递给 React,React 将为它设置 current 属性。

参数:

useRef一般不需要传参,值为null。

示例:获取一个DOM节点

import React, { useRef } from 'react'

export default function UseRef() {
    const h1Ref= useRef(null)
    useEffect(()=>{
        console.log(h1Ref.current);
    },[])
  return (
    <div>
        <input type="text" ref={h1Ref}/>
    </div>
  )
}

总结:

        以上就是我工作中比较常用到的几个hooks,引入hooks后在工作中使用React会更加的简洁方便,后续我也会持续更新这篇文章,分享更多好用的hooks和以及它的使用。

如果您发现本文中有错误的地方,欢迎评论以便及时更正!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值