首页 > 其他分享 >【React】React 内置 Hook

【React】React 内置 Hook

时间:2024-03-27 13:29:05浏览次数:16  
标签:count 内置 函数 React Hook useState 组件 useEffect

       React 内置 Hook 是一组允许你在函数组件中使用 state 和其他 React 特性的函数。它们极大地扩展了函数组件的功能,使得在无需编写 class 的情况下也能使用 React 的全部功能。以下是一些主要的 React 内置 Hook 的介绍:

1.useState

useState 是用于在函数组件中添加状态(state)的 Hook。它返回一个状态变量和一个更新该状态的函数。你可以使用它来管理组件的本地状态。

import React, { useState } from 'react';  

  

function Example() {  

  const [count, setCount] = useState(0);  

  

  return (  

    <div>  

      <p>You clicked {count} times</p>  

      <button onClick={() => setCount(count + 1)}>Click me</button>  

    </div>  

  );  

}

2.useEffect

useEffect 允许你在函数组件中执行副作用操作。这些副作用操作包括数据获取、订阅、手动修改 DOM 等。它类似于类组件中的生命周期方法(如 componentDidMount、componentDidUpdate 和 componentWillUnmount),但更加统一和灵活。

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

  

function Example() {  

  const [count, setCount] = useState(0);  

  

  useEffect(() => {  

    document.title = `You clicked ${count} times`;  

  }, [count]);  

  

  return (  

    <div>  

      <p>You clicked {count} times</p>  

      <button onClick={() => setCount(count + 1)}>Click me</button>  

    </div>  

  );  

}

      确保在组件卸载时清理资源,例如取消网络请求或释放内存。可以使用 useEffect 的清理函数来做到这一点。 

3.useContext

useContext 允许你订阅 React 的 Context。这使得组件能够访问到由父组件提供的值,而无需显式地通过 props 传递。

import React, { useContext } from 'react';  

import ThemeContext from './ThemeContext';  

  

function ThemedButton() {  

  const theme = useContext(ThemeContext);  

  

  return (  

    <button style={
  { color: theme.color }}>  

      I am styled by theme context!  

    </button>  

  );  

}

4.useRef

useRef 返回一个可变的 ref 对象&#

标签:count,内置,函数,React,Hook,useState,组件,useEffect
From: https://blog.csdn.net/weixin_42286461/article/details/137072551

相关文章

  • 前端框架选择:Vue VS React
    目录Vue是什么?React又是什么?Vue的优缺点React的优缺点选择Vue选择ReactVuevsReact如今,大多数大型WebApp都是使用给力的JS前端开发框架构建的。其中人气最高的两个框架是——React和Vue。下面我将根据这两个框架实际应用深入刨析它们各自的特点,全面掌......
  • blog-engine-07-gatsby 建极速网站和应用程序 基于React的最佳框架,具备性能、可扩展
    拓展阅读blog-engine-01-常见博客引擎jekyll/hugo/Hexo/Pelican/Gatsby/VuePress/Nuxt.js/Middleman对比blog-engine-02-通过博客引擎jekyll构建githubpages博客实战笔记blog-engine-02-博客引擎jekyll-jekyll博客引擎介绍blog-engine-02-博客引擎jekyll-jekyll如何......
  • GitHub WebHook 使用教程
    本文收录于Github.com/niumoo/JavaNotes,Java系列文档,数据结构与算法!本文收录于网站:https://www.wdbyte.com/,我的公众号:程序猿阿朗什么是WebHookWebHook直译是网络钩子,可以把WebHook看做一种通知方式,只要发生关注的事件,就会发送通知到我们指定的Web服务。使用WebHoo......
  • react 组件加上 displayName 属性的作用是什么
    react组件加上displayName属性的作用是什么在React中,为组件添加displayName属性的主要作用是方便调试和识别组件。在开发过程中,尤其是在查看浏览器开发者工具(如ReactDevTools扩展)时,displayName属性的值会显示为组件的名称,这对于追踪组件层次结构、查找特定组件以及理解组件之......
  • react要避免闭包问题,具体指的是哪些?
    react要避免闭包问题,具体指的是哪些?在React中要避免的闭包问题主要指的是以下几个方面:状态更新滞后问题:当在事件处理器、定时器、异步回调等闭包中直接引用状态变量时,可能由于闭包绑定的是变量的旧值,导致状态更新后闭包内的引用并未随之更新。例如,在useEffect或useCallba......
  • react ts 使用七牛 传输图片
    import*asqiniufrom"qiniu-js";exportdefaultfunctiondemo(){functionupdateImg(e){constfile=e.target.files[0];consttoken='后端返回的Token'constkey='Img需要传的路径和图片名称'//例如icons/clo......
  • [QLIE] 封包接口Hook
    [QLIE]封包接口Hook这个主题快拖了半个月,中间一直没空写,今天看着实在有点久了,必须写一写了,不然就快忘记了。起因前不久HappyLiveShowUp发了官中,但是又搞的奇奇怪怪的加密,很是无聊,稍微调了下和之前ハミダシクリエイティブ官中是挺像的。steam的dll是用Themida保护的,其......
  • React-hook-form-mui(一):基本使用
    前言在项目开发中,我们选择了React+MUI作为技术栈。在使用MUI构建form表单时,我们发现并没有与antd类似的表单验证功能,于是我们选择了MUI推荐使用的react-hook-form-mui库去进行验证。但是发现网上关于这个库的使用方法和demo比较少且比较简单,并没有复杂的表单验证的demo。......
  • 使用 React 和 ECharts 创建地球模拟扩散和飞线效果
    在本博客中,我们将学习如何使用React和ECharts创建一个酷炫的地球模拟扩散效果。我们将使用ECharts作为可视化库,以及React来构建我们的应用。地球贴图在文章的结尾。最终效果准备工作首先,确保你已经安装了React,并创建了一个新的React应用。如果你还没有安装R......
  • React Hooks的出现解决了什么问题?
    ReactHooks是React16.8版本引入的一个革命性新特性,它极大地改变了我们编写React组件的方式,并解决了许多长期存在的问题。Hooks的引入不仅简化了状态逻辑的管理,还提高了代码的可读性和可维护性。一、ReactHooks解决了什么问题?1、组件间状态逻辑复用困难在Hooks出现之......