当前位置: 首页 > news >正文

ps软件下载电脑版多少钱网络推广优化品牌公司

ps软件下载电脑版多少钱,网络推广优化品牌公司,织梦做公司网站要钱吗,html登录界面设计useLayoutEffect钩子函数的作用跟useEffect钩子函数的作用一样,它们的不同主要是在于: 1、useEffect钩子函数是异步的,因为此函数在执行的时候是先计算出所有的 Dom 节点的改变后再将对应的 Dom 节点渲染到屏幕上,然而在 useEffe…

useLayoutEffect钩子函数的作用跟useEffect钩子函数的作用一样,它们的不同主要是在于:

1、useEffect钩子函数是异步的,因为此函数在执行的时候是先计算出所有的 Dom 节点的改变后再将对应的 Dom 节点渲染到屏幕上,然而在 useEffect 函数中可能还存在某些还在后台运行的代码,这些后台代码的运行和 Dom 的渲染是互不影响的,所以这样就有可能在页面渲染效果上会有元素抖动的情况发生。

2、useLayoutEffect钩子函数是同步的,在性能上会比较差,但是它是等到所有计算完成、所有代码完成后最后才会去渲染 Dom 节点。

具体实例如下:

const UseLayoutEffectDemo: React.FC = () => {const [show, setShow] = useState<boolean>(false);const popup = useRef<HTMLDivElement>(null);const button = useRef<HTMLButtonElement>(null);useEffect(() => {if (popup.current === null || button.current === null) {return;} else {const { bottom } = button.current.getBoundingClientRect();popup.current.style.top = `${bottom + 25}px`;}});return (<div><button ref={button} onClick={() => setShow((prev) => !prev)}>切换状态</button>{show && (<div style={{ position: "absolute" }} ref={popup}>这是显示内容</div>)}</div>);
};

运行上述代码后,当你点击切换状态状态按钮后,这是显示内容的 div 元素会首先在按钮后显示,但是很快就会向下偏移 25px 的距离。因为当show发生改变后,div 已经开始显示,而随后useEffect监听到有变化后就开始执行代码,等到执行完成后,Dom 会重新渲染。这样 div 元素就会有抖动,只是这个抖动发生的很快。

为了防止上述的情况发生,我们可以把useEffect钩子函数改为useLayoutEffect钩子函数,这样 Dom 的渲染是等到所有相关操作都完成后才会进行 Dom 的渲染。

http://www.mmbaike.com/news/66262.html

相关文章:

  • 网站营销推广公司新闻软文自助发布平台
  • dz如何做门户网站东莞网站优化
  • 卖汽车的网站怎么做的seo优化博客
  • 穿着高跟鞋做的网站我的百度账号
  • 河南免费网站建设百度百家号怎么赚钱
  • 东莞日增感染人数超25万优化营商环境的措施建议
  • 网站栏目标题企业营销战略
  • 学而思的网站哪里做的网站外链出售
  • 高碑店做网站的公司腾讯企业邮箱
  • 做网站的设计软件西安seo外包服务
  • 鲜花网站设计怎么联系百度客服人工服务
  • 技术支持海安网站建设北京seo课程
  • 制作百度移动网站seo研究中心
  • 怎么在网站后面制作官网俩个字优化游戏的软件
  • 好看的论坛网站模板精准防恶意点击软件
  • wordpress中文版插件哪些网站可以seo
  • 杭州富阳网站建设南京seo招聘
  • 定州网站制作深圳seo优化
  • 为什么自己花钱做的网站竟然不是自己的 (seo教程免费
  • 在哪家网站做外贸比较好搜索引擎优化论文
  • 搭建网站一条龙企业网站管理
  • 网站评论怎么做百度最新版app下载安装
  • 写网站开发代码seo优化及推广如何运营
  • 做标书的任务网站百度指数需求图谱
  • wordpress skype插件自媒体seo是什么意思
  • 一个虚拟空间可以做两个网站吗武汉网络推广外包公司
  • 高端网站开发设计简介网络营销意思
  • ae免费模板网站网络营销策略ppt
  • 网站查询域名解析ip关于市场营销的培训课程
  • axure做的网站注册域名在哪里注册