useScrollLock
一个 React Hook,用于帮助锁定或解锁一个元素的滚动行为。
演示
用法
请查看 API。
源码
API
const [isLocked, setLocked, actions] = useScrollLock(elementTarget, initialState)
元素目标 ElementTarget
ElementTarget
是一个联合类型,代表可以被定位的各种元素。
更多详情,请参见 ElementTarget 或 ElementTarget 类型。
初始状态 InitialState
一个 boolean
值,用以确定滚动锁定的初始状态。
返回值
export type UseScrollLockReturnsActions = {
/**
* 锁定滚动
*/
lock(): void
/**
* 解锁滚动
*/
unlock(): void
/**
* 切换滚动锁定状态
*/
toggle(): void
}
export type UseScrollLockReturns = [
/**
* 滚动是否被锁定
*/
isLocked: boolean,
/**
* 设置滚动锁定状态
*/
setLocked: ReactSetState<boolean>,
/**
* 锁定/解锁滚动的操作
*/
UseScrollLockReturnsActions,
]