React18 useState何时及如何执行更新,微任务机制又是如何影响这一过程的?

2026-04-02 20:540阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1016个文字,预计阅读时间需要5分钟。

React18 useState何时及如何执行更新,微任务机制又是如何影响这一过程的?

目录+函数式组件中的useState+测试1+测试2+类组件中的setState+setState在promise之前定义+setState在promise之后定义+结论+函数式组件中的useState+前言:众所周知,useState是异步的,但网上对useS的描述为异步的。

目录
  • 函数式组件中的useState
    • 测试1
    • 测试2
  • 类组件中的setState
    • setState在promise之前定义
    • setState在promise之后定义
  • 结论

    函数式组件中的useState

    前言:众所周知useState是异步的,但网络上对于useState何时异步更新并没有一个共识,为了探究,做一个简单的实验,实验目的是探究useState与微任务、宏任务的先后关系

    测试1

    实验步骤:点击按钮触发事件,在事件中我们做三件事:修改state/定义一个宏任务setTimeout /定义一个微任务promise.then,我们在微任务中打上debugger,暂停代码,观察此时页面是否更新了数据。

    阅读全文

    本文共计1016个文字,预计阅读时间需要5分钟。

    React18 useState何时及如何执行更新,微任务机制又是如何影响这一过程的?

    目录+函数式组件中的useState+测试1+测试2+类组件中的setState+setState在promise之前定义+setState在promise之后定义+结论+函数式组件中的useState+前言:众所周知,useState是异步的,但网上对useS的描述为异步的。

    目录
    • 函数式组件中的useState
      • 测试1
      • 测试2
    • 类组件中的setState
      • setState在promise之前定义
      • setState在promise之后定义
    • 结论

      函数式组件中的useState

      前言:众所周知useState是异步的,但网络上对于useState何时异步更新并没有一个共识,为了探究,做一个简单的实验,实验目的是探究useState与微任务、宏任务的先后关系

      测试1

      实验步骤:点击按钮触发事件,在事件中我们做三件事:修改state/定义一个宏任务setTimeout /定义一个微任务promise.then,我们在微任务中打上debugger,暂停代码,观察此时页面是否更新了数据。

      阅读全文