React 中的 useLayoutEffect 使用

概述

在 React Hooks 中,我们经常使用的一个 Hook 就是 useEffect,当依赖发生变化时,我们可以采取一系列的副作用操作,这些操作通常是请求接口,进行数据更新,或者是操作 Dom。但是,当操作 Dom 的时候,我们是希望在页面获取最新状态之前,也就是页面刷新之前获取数据,进行联动操作,那这样的副作用如何实现了,这就需要使用 useLayoutEffect Hook。

useLayoutEffect

要理解 useLayoutEffect,我们就需要区分其和 useEffect 的区别,名字大致一致,就可以理解其使用目的也大致一致,区别就在意 effect 的调用时间。useEffect 是在 Dom 也就是游览器屏幕已经渲染完状态之后,调用 effect,而 useLayoutEffect 是在游览器渲染数据之前调用 effect 方法,这就意味着我们可以及时操作一些 Dom 的数据,常见的是修改 Dom 的位置数据。

useLayoutEffect 使用方法

useLayoutEffect(setup, dependencies)

useLayoutEffect 使用方法是传入一个 effect 方法,也可以理解为 setup 为第一个参数,第二个参数接收依赖数组,根据数组的变化,即使调用 setup 方法。需要注意的是,useLayoutEffect 是有点性能上的瓶颈,如果在可以 useEffect 可以解决的情况下,应该首选 useEffect

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值