首页 > 其他分享 >React Hooks { useState, useEffect }

React Hooks { useState, useEffect }

时间:2022-09-06 10:49:13浏览次数:158  
标签:状态 Hooks React useState 组件 useEffect 我们

React Hooks { useState, useEffect }

使用状态

UseState 钩子是在 React 16.8 中引入的。它允许您跟踪状态功能组件。你可能会问自己什么状态?好吧,状态通常是指组件中的动态数据,随着用户与您的应用程序交互,它会随着时间而变化。与组件道具不同的状态会随着时间而改变。让我们深入研究一个示例,以更好地了解如何以及何时使用状态!

首先我们需要导入 useState 钩子

如何初始化 useState 挂钩

我们通过调用组件中的 useState 钩子来初始化我们的状态。

useState 接受初始状态并返回两个值:

  1. 当前状态。
  2. 更新状态的函数。

让我们看一个例子来更好地理解……

当前状态称为计数。

setCount 将是我们的 setter 函数,它将更新状态。

我们将初始状态设置为 0。 这可以更改为任意数量的东西,包括字符串、数字、布尔值、数组、对象。在这种情况下,我们只是将状态增加 1。

更新状态

快速回顾

  1. 我们从 react 中导入了 useState 钩子。
  2. 我们将 useState 设置为当前值初始化为 0。
  3. setCount 这将是我们的 setter 函数。

好的,现在我们正在更新我们的状态。首先,我声明了一个函数并在该函数中调用它增量,我调用了我们的 setter 函数 setCount 并传入初始状态 0 因为 count 值现在是 0 然后 +1 所以每次调用 setCount 时它都会取state 的值和 state 的任何数字都会 +1。

示例:如果我们单击一次按钮状态将更新为 1 而不是零,再次单击按钮当前状态将是 2,依此类推。

state 的当前值为 0,并根据我们单击按钮的次数增加 1,这是我们的应用程序在浏览器中显示的示例。

使用效果

useEffect 允许您在组件中执行副作用。

副作用: 如果操作、函数或表达式在其本地环境之外修改了一些状态变量值,则称其具有副作用,也就是说,除了将值(主效果)返回给操作。 — 维基百科的副作用

React 组件的主要作用是返回 JSX,但是有时我们希望组件除了返回 JSX 之外还执行一些副作用,例如:

  1. 组件首次呈现时从 API 获取数据
  2. 启动/停止计时器
  3. 直接更新 DOM

如何使用 useEffect 挂钩

首先我们必须导入 useEffect 钩子。

然后我们调用 useEffect 并传入一个回调函数以作为副作用运行,在这种情况下,setTimeout 将每 1,000 毫秒将 setCount(setter 函数)设置为我们的 count + 1。

我们基本上是在说,当这个组件呈现时,我希望我的计数每秒自动增加一。

UseEffect 依赖项

在上面的代码片段中,我们没有传递任何依赖项,因此效果将每 1,000 毫秒渲染一次,除非我们传递其中一个依赖项...

我们传入一个空数组作为依赖项,这意味着这个效果只会在第一次渲染时运行。

 使用效果(()=> {  
 设置超时() => {  
 设置计数(计数 + 1);  
 },1000)  
 },[]):

在这个例子中,useEffect 将在第一次渲染时运行,并且任何时候任何依赖值发生变化。

 使用效果(()=> {  
 设置超时() => {  
 设置计数(计数 + 1);  
 },1000)  
 },[道具,状态]);  

[

反应使用效果

useEffect Hook 允许您在组件中执行副作用。副作用的一些示例是:获取...

www.w3schools.com

](https://www.w3schools.com/react/react_useeffect.asp)

[

反应使用状态钩子

React useState Hook 允许我们跟踪函数组件中的状态。状态通常是指数据或属性……

www.w3schools.com

](https://www.w3schools.com/react/react_usestate.asp)

[

使用状态钩子 - React

Hooks 是 React 16.8 中的新增功能。它们让您无需编写类即可使用状态和其他 React 特性。这…

reactjs.org

](https://reactjs.org/docs/hooks-state.html)

[

React 中的 useState() 是什么? - GeeksforGeeks

useState() 是一个 Hook,它允许您在功能组件中拥有状态变量。所以基本上 useState 是……

www.geeksforgeeks.org

](https://www.geeksforgeeks.org/what-is-usestate-in-react/)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/18672/25120610

标签:状态,Hooks,React,useState,组件,useEffect,我们
From: https://www.cnblogs.com/amboke/p/16660883.html

相关文章

  • 使用 React 样式的组件设置容器样式
    使用React样式的组件设置容器样式首先,呼救声。您是否曾经尝试在两个类似的项目中使用相同的代码,并且在一个工作而一个没有工作时感到困惑?如果没有,我希望你晚上睡个好觉......
  • 你需要了解多少 Javascript 才能开始使用 React?
    你需要了解多少Javascript才能开始使用React?1.Javascript基础一个。使用var、let和const进行变量声明湾。算术、比较、逻辑运算符C。条件块和循环:if、for、f......
  • 如何将 Figma 设计转换为 React 代码:分步指南⚛️
    如何将Figma设计转换为React代码:分步指南⚛️你想加速你的React.js应用程序开发吗?正是通过自动将您的设计转换为React组件!如果是,DhiWiseWeb应用程序构建器可以......
  • React 应用程序中的简单路由
    React应用程序中的简单路由一个简单的、可扩展的路由解决方案可以满足您的应用程序的所有需求,而不会引入像React-Router这样的工具所提供的复杂性。进入:浏览器的窗......
  • react向路由组件传递参数数据的3种方式
    1、params传递参数步骤:(1)路由链接(携带参数)<Linkto={`/home/message/detail/${ele.id}/${ele.title}`}>{ele.title}</Link>(2)注册路由(声明接收):<Routepath='/home......
  • React生命周期
    React的生命周期中常用的有:constructor,负责数据初始化。render,将jsx转换成真实的dom节点。componentDidMount,组件第一次渲染完成时触发。componentDidUpdate,组件更新完......
  • vue3——shallowReactive 与 shallowRef
    shallowReactive:只处理对象最外层属性的响应式(浅响应式)。shallowRef:只处理基本数据类型的响应式,不进行对象的响应式处理。什么时候使用?如果有一个对象数据,结......
  • 大家都能看得懂的源码之ahooks useInfiniteScroll
    本文是深入浅出ahooks源码系列文章的第十七篇,该系列已整理成文档-地址。觉得还不错,给个star支持一下哈,Thanks。简介useInfiniteScroll封装了常见的无限滚动逻辑。......
  • 使用 fetch + React.js 调用 REST API
    JSON:PlaceholderJSON:Placeholder(https://jsonplaceholder.typicode.com/)是一个用于测试的RESTAPI网站。以下使用RxJS6+React.js调用该网站的RESTAPI,......
  • react快捷键
    rcc+tab键:用ES6模块系统创建一个React组件类importReact,{Component}from'react';classTestextendsComponent{render(){return(<......