Javascript 子组件(useRef)的React slick slider wheel事件?
我正在使用“反应滑溜”滑块。我想实现wheel事件,这样当用户在触摸板上滚动时,它会更改当前幻灯片。我使用Javascript 子组件(useRef)的React slick slider wheel事件?,javascript,reactjs,react-hooks,react-slick,Javascript,Reactjs,React Hooks,React Slick,我正在使用“反应滑溜”滑块。我想实现wheel事件,这样当用户在触摸板上滚动时,它会更改当前幻灯片。我使用useRef引用滑块,然后调用事件侦听器回调中的slick函数 当它只是一个子组件时,这很好,但是出于好奇,我在初始引用下面的父组件中添加了相同的子组件。为两个滑块调用slickNext和slickPrev。这是因为我使用useRef的方式,还是只有当用户在滑块上时,才可以调用slick函数 这是因为您正在收听窗口。addEventListener,这意味着无论用户在哪里滚动,两个滑块都会触
useRef
引用滑块,然后调用事件侦听器回调中的slick函数
当它只是一个子组件时,这很好,但是出于好奇,我在初始引用下面的父组件中添加了相同的子组件。为两个滑块调用
slickNext
和slickPrev
。这是因为我使用useRef
的方式,还是只有当用户在滑块上时,才可以调用slick函数 这是因为您正在收听窗口。addEventListener
,这意味着无论用户在哪里滚动,两个滑块都会触发slickNext
和slickPrev
如果您想为每个滑块触发这些函数,您应该在组件的根目录上收听滚动
useffect(()=>{
如果(!parentRef.current){
返回;
}
parentRef.current.addEventListener('wheel',(e)=>handleScroll(e));
返回(()=>{
parentRef.current.removeEventListener('wheel',(e)=>handleScroll(e));
});
},[parentRef,rowData]);
{...}
工作示例: