Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 子组件(useRef)的React slick slider wheel事件?_Javascript_Reactjs_React Hooks_React Slick - Fatal编程技术网

Javascript 子组件(useRef)的React slick slider 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,这意味着无论用户在哪里滚动,两个滑块都会触

我正在使用“反应滑溜”滑块。我想实现wheel事件,这样当用户在触摸板上滚动时,它会更改当前幻灯片。我使用
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]);

{...}
工作示例: