本文为稀土掘金技术社区首发签约文章,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......
暂无评论...