Closed Trojan0523 closed 1 year ago
Sticky
offset
props.offsetTop
props.offsetBottom
useEventListener
depends
useEffect
add
listener
Sticky
组件在调用时,需要动态更新offset
的值,此时传入的props.offsetTop
/props.offsetBottom
已经更新,但是由于useEventListener
没有设置depends
更新注册的回调,导致某些不为window且传入offsetTop的container fixed定位判断不准。useEffect
, 更新add
方法, add方法内重新注册新的listener
回调,拿到新的 offset值,问题修复。