useEffect 一定在页面渲染后才会执行吗?

本文为稀土掘金技术社区首发签约文章,30天内禁止转载,30天后未获授权禁止转载,侵权必究!

引言
在大多数 React 开发者的观念里,useEffect callback 通常会在浏览器完成渲染后被异步调用。
但事实并非如此,useEffect 并不总是在页面渲染完后才会被异步调用,有时也许会在页面渲染前同步调用执行 effect callback。
那么,关于 useEffect 的真正执行时机究竟是渲染前的同步还是渲染后的异步呢,让我们紧随文章中的例子,一同揭开这个谜题。

文章中使用的 react/react-dom 版本均为 18.3.1。

Demo1: 渲染前被执行的 useEffect Callback
首先,我们用一段非常简单的代码来看看 useEffect 的执行时机:
import { useEffect, useState } from 'react';
import './App.css';

function App() {
const [state] = useState(0);

// render 方法调用时被触发
console.lo......

版权声明:juejinhot 发表于 2024-05-28 22:04:17。
转载请注明:useEffect 一定在页面渲染后才会执行吗? | 程序员导航网

暂无评论

暂无评论...