[react] useState的一些小细节

这篇具有很好参考价值的文章主要介绍了[react] useState的一些小细节。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.无限循环

因为setState修改是异步的,加上会触发函数重新渲染, 如果代码长这样

[react] useState的一些小细节,react.js,前端,javascript

 一秒再修改,然后重新触发setTImeout, 然后再触发,重复触发循环

[react] useState的一些小细节,react.js,前端,javascript


如果这样呢

[react] useState的一些小细节,react.js,前端,javascript

还是会,因为你执行又会重新渲染 

2.异步修改数据

为什么修改多次还是跟不上呢?

[react] useState的一些小细节,react.js,前端,javascript

函数传参解决

因为是异步修改 ,所以会出现问题,怎么办?用传函数的形式解决

Component – React 中文文档[react] useState的一些小细节,react.js,前端,javascript

改成这种形式

[react] useState的一些小细节,react.js,前端,javascript [react] useState的一些小细节,react.js,前端,javascript

用回调的方式返回上一个state的值,这样就可以解决了,当然可以简洁些

[react] useState的一些小细节,react.js,前端,javascript

怎么拿最新结果 

但是最后那个打印还是拿不到最新的结果咋办?

可以用临时变量解决

[react] useState的一些小细节,react.js,前端,javascript

 也可以套多一层函数形式

[react] useState的一些小细节,react.js,前端,javascript

小细节

这里数据加了几次,但是只渲染一次,把你要更新的请求合并到一起处理

[react] useState的一些小细节,react.js,前端,javascript

3.缓存功能

代码如下

[react] useState的一些小细节,react.js,前端,javascript

每次点击x,y都会加1,但是

[react] useState的一些小细节,react.js,前端,javascript

为什么?因为每次组件重新渲染let y都会重新赋值!!setState有缓存不会重新赋值 文章来源地址https://www.toymoban.com/news/detail-850286.html

到了这里,关于[react] useState的一些小细节的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • React源码解析18(6)------ 实现useState

    在上一篇文章中,我们已经实现了函数组件。同时可以正常通过render进行渲染。 而通过之前的文章,beginWork和completeWork也已经有了基本的架子。现在我们可以去实现useState了。 实现之前,我们要先修改一下我们的index.js文件: 由于我们这一篇并不会实现React的事件机制,所以

    2024年02月13日
    浏览(33)
  • React Hooks的useState、useRef使用

    React Hooks 是 React 16.8 版本引入的新特性,它允许你在不编写 class 的情况下使用 state 和其他 React 特性。其中, useState  和  useRef  是两个常用的 Hooks。 1. useState useState  是一个允许你在函数组件中添加 state 的 Hook。 使用说明: useState  返回一个状态变量和一个设置该变量的函

    2024年02月02日
    浏览(41)
  • 02react 函数组件useState的异步问题

    常见的钩子函数:useState、useEffect useState作为最常见的一个hook,在使用中总是会出现各种坑,最明显的就是 useState 更新异步的问题。 问题描述:把接口返回的数据,使用 useState 储存起来,但是当后面去改变这个数据的时候,每次拿到的都是上次的数据,无法实时更新。或者

    2024年02月03日
    浏览(47)
  • react中的useState和useImmer的用法

    react中文官网教程 在函数式组件中,可以使用 useState 这个 Hook 来定义和管理组件的状态。 useState 接受一个初始状态作为参数,并返回一个包含 state 和更新 state 的方法的数组。 下面是一个例子,展示了如何在函数式组件中定义自己的 state: 在上面的例子中,我们使用 useStat

    2024年02月07日
    浏览(40)
  • React Hook - useState函数的详细解析

    在上一篇文章中, 我用到useState来让大家体验一下hooks函数 那么接下来我们来先研究一下上面核心的一段代码代表什么意思 useState来自react,需要从react中导入,是一个hook函数, 官方中也将它成为State Hook, 它与class组件里面的 this.state 提供的功能完全相同; 一般来说,在函数退出

    2024年01月25日
    浏览(40)
  • react如何处理setState,useState异步问题

    flushSync 是 React 提供的一种实验性的 API,用于控制 React 更新的同步/异步方式,并且只能在 React 16 及更高版本中使用。使用 flushSync 可以强制 React 在执行一些特定的 DOM 操作时,同步地(而非异步地)执行分块更新,从而保证消息优先级和交互响应性能。 通常情况下,React 采

    2024年02月11日
    浏览(45)
  • react18中,useState 和 useEffect有什么区别

    useState 目的:useState用于在函数组件中添加状态。之前,只有类组件才能有自己的状态,但useState钩子使得函数组件也能够利用React的状态特性。 使用场景:当你需要在组件中存储、读取或更新一些数据时使用。例如,控制输入框的内容、切换按钮的状态等。 工作原理:useS

    2024年02月19日
    浏览(39)
  • react中useState、setState、usemeno、meno区别

    useState和setState是异步 useState : useState 是React函数组件中的钩子,用于声明状态变量。 通过 useState ,你可以在函数组件中添加状态,而无需创建类组件。 useState 返回一个数组,其中包含当前状态和一个更新状态的函数 setState : setState 是类组件中用于更新状态的方法。 在类

    2024年02月22日
    浏览(29)
  • JavaScript 框架比较:Angular、React、Vue.js

    在 Web 开发领域,JavaScript 提供大量技术栈可供选择。其中最典型的三套组合,分别是 MERN、MEAN 和 MEVN。这些首字母相同的选项各自代表不同的技术加工具组合。为了在这些技术栈中做出明智选择,让我们先从核心组件聊起,再对各自前端框架(React、Angular 和 Vue)进行简化比

    2024年01月20日
    浏览(56)
  • react中useState的值没有改变,而是旧的数值

    想实现点击按钮就改变数据的效果,但是在控制台的打印结果,总是上一次的修改情况,并不是最新的修改后的数据 代码: 在 React 中, useState 是一个异步更新状态的 Hook,因此在调用 setAName 更新状态后, sonAName 并不会立即改变,而是会在下一次渲染时才会更新。 因此,在

    2024年04月26日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包