Я использую библиотеку (https://github.com/asmyshlyaev177/react-horizontal-scrolling-menu), которая прокручивает при использовании колесика мыши, и я хочу использовать эту функцию при перемещении влево или вправо.
Я использую hammerjs для репликации swipeleft иповедение swiperight, и это работает.
Однако создание WheelEvent, похоже, не вызывает функциональность, зависящую от WheelEvent.
В настоящее время я использую componentDidUpdate в качестве моего метода жизненного цикла реагирования, потому что дляпо какой-то причине this.containerRef.current
всегда имеет значение null в componentDidMount, но как только я выясню причину этого, я, вероятно, переместлю его.
В любом случае, вот мой код:
componentDidUpdate() {
if(this.containerRef.current !== null) {
this.hammer = Hammer(this.containerRef.current)
this.hammer.on('swiperight', () => alert("swipe right"));
var wheelevent = new WheelEvent("wheel", {deltaX: 500, deltaY: 500});
this.hammer.on('swiperight', () => window.dispatchEvent(wheelevent));
}
}
ТеперьХочу отметить, что предупреждающее сообщение о пролистывании вправо происходит, поэтому поведение определенно срабатывает, однако мое WheelEvent не перехватывается библиотекой прокрутки.
Как программно вызвать WheelEvent?
РЕДАКТИРОВАТЬ - я сделал кодовую ручку об этом:
https://codesandbox.io/s/react-horizontal-scrolling-menu-fi7tv