useEffect 函数会在组件渲染到屏幕之后才执行, 所以会可能会出现 闪屏 的情况useLayoutEffect 函数是在组件渲染到屏幕之前执行, 所以不会出现闪屏情况首先来看 useEffect...会出现闪屏的情况代码如下:App.js:import React, {useRef, useState, useEffect} from 'react';import '....100px; position: relative; left: 0; top: 0; background: red;}运行项目然后点击切换按钮,你会发现在切换的过程当中会有一闪而过的效果这就是所谓的闪屏...useEffect 是组件已经渲染到屏幕上了才执行,useLayoutEffect 是组件还没有渲染到屏幕上就会执行,所以如果在组件已经渲染到屏幕上了, 才去更新 DOM 的布局和样式, 那么用户体验不好, 会看到闪屏的情况...,而如果是在组件还没有渲染到屏幕上, 就去更新 DOM 的布局和样式, 那么用户体验更好, 看不到闪屏情况。