问题标签 [react-native-gesture-handler]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1987 浏览

react-native - 触摸事件不适用于反应导航

根据 React Navigation 3.x 文档的步骤,我为 android 添加了 react-native-gesture-handler。我也在 MainActivity.java 中添加了额外的行。

这是供参考的链接:

https://reactnavigation.org/docs/en/getting-started.html

我已按照以下行添加的文档进行操作。

我可以滑动抽屉。不幸的是,我无法触摸屏幕上的任何其他元素。我正在使用 react-native 0.57

有人可以帮忙吗?

0 投票
1 回答
3065 浏览

react-native - 如何从 react-native-gesture-handler 设置 PanGestureHandler 中的初始偏移量?

在下面的简单滑块(打字稿)示例中,来自 react-native-gesture-handler 的 PanGestureHandler 只会在手势启动后设置。用户将需要移动手指。

这就是我想要实现的: Taps 还应该设置滑块值(包括点击和拖动)。这是一种常见的模式,例如在寻找视频文件或将音量设置为最大然后进行调整时。

我想我可以将它包装在 TapGestureHandler 中,但我正在寻找最优雅的方式来实现这一点,而无需太多样板。

提前致谢!

编辑:这按预期工作,但有一个可见的渲染怪癖和一个小的延迟。

0 投票
2 回答
4548 浏览

react-native - 使用 React Native Gesture Handler 和 Reanimated 检测滑动方向

我们已经使用 React Native PanResponder 开发了一个 swiper,(在有人评论之前) - 我们不能在这里使用任何其他 swiper 库。在我们开发的滑动器中,我们面临一个问题,当用户结束滑动(意味着释放 Pan)时,启动弹簧动画时会出现延迟。

因此,为了解决这个问题,我们正在尝试从React Native Animated API转移到Reanimated Libary,这可以解决用户面临的滞后问题。

但是在使用React Native Gesture Handler (PanGestureHandler) 和 Reanimated Library 进行开发时,我们无法在手势处理程序中检测滑动方向。

我正在添加我们用来在 PanResponder 中检测滑动方向的代码部分

如您所见,在 PanResponder 中检测平移移动时的方向非常容易。

手势处理程序的问题来了,

手势状态处于活动状态时,我无法检测到滑动

我已经在 Gesture Handler 中搜索过问题并找到了这个

问题中建议了两种解决方法

  1. 第一个是由Sonaye 编写的,它有两个处理程序,并在onHandlerStateChange中检测两个处理程序的滑动方向,这在使用 reanimated 时没有帮助,因为它仅在处理程序状态更改时设置滑动方向。
  2. 第二个是Satya,它实际上在状态为 ACTIVE 时检测到滑动,但他使用了translationX属性,translationX 属性也可以对我们不利,并且可以像 swiper 一样向任一方向移动。

这两种解决方法都不能解决我们的问题。

那么有没有其他方法可以使用 PanGestureHandler 和 Reanimated 找到方向。我尝试将 PanResponder 与 Reanimated 与dx值一起使用,但最终得到错误消息,即仅支持 nativeEvent 属性,因为dx来自 PanResponder 的手势状态参数。

注意:我们不能使用FlingGestureHandlerSwipeables ,因为我们需要在 Fling 中找到方向仍然 onHandlerStateChange 并且 Swipeables 不使用 Reanimated。

0 投票
0 回答
909 浏览

android - 准备中的 IllegalStateExceptioncom.swmansion.gesturehandler.GestureHandler

我在 Android 上的生产中遇到了一些随机崩溃。这是logcat给我的:

索引.js:

应用程序.js:

我的环境:反应:16.9.0 react-native:0.61.4 react-native-gesture-handler:^1.5.0

JS错误:

在此处输入图像描述

如果有人可以帮助我避免这种崩溃和我重新加载时的错误消息,那真的很好。

谢谢,优素福

0 投票
2 回答
4358 浏览

ios - React Native Swipeable(滑动删除)未关闭

我正在使用来自 React-Native-Gesture-Handler 的 Swipeable 将滑动合并到我的页面上删除。当我按删除时,联系人被删除,但可滑动保持打开状态。

我希望它在被按下后关闭,但我似乎不知道该怎么做。

这是我的代码:

这是我可以滑动的地方:

按下后可滑动按钮不会消失

0 投票
1 回答
786 浏览

react-native - React Native Gesture Handler 显示:undefined is not an object

我已经设置了一个 react-native 0.61 项目,该项目运行没有任何错误,但每当我滑动时我都会得到这个。我正在使用react-native-gesture-handler: 1.3.0

我的

类型错误:未定义不是对象(评估“rectEvt [mappingKey]”)。详情请看图片

我正在使用以下代码:

0 投票
2 回答
5256 浏览

react-native - 获取错误不变违规:试图注册两个具有相同名称的视图

我在 0.50 时使用过 react-native 现在我再次使用它,它是 0.61.1
我正在制作一个应用程序并使用"react-navigation"库进行路由。

由于我是react-native-gesture-handler根据文档使用的,因此有时会出现错误"Invariant Violation: Tried to register two views with the same name",当我关闭应用程序并重新打开它时,它就消失了。

尤其是"Invariant Violation: Tried to register two views with the same name gestureHandlerRootView"错误在应用程序中出现了很多次。

这是我的控制台中的错误截图:

由于这个错误,我在发布模式下的应用程序在我打开它时也会崩溃。我使用的是 React Native CLI 而不是 EXPO。我在堆栈溢出和其他地方进行了搜索,但我得到的所有答案都是react-native-gesture-handler从博览会中删除。
但是我没有使用 EXPO 我该怎么办?请帮忙。

0 投票
1 回答
3269 浏览

javascript - react-native-gesture-handler pan/drag and rotate wrong values when rotated

I made a single component based on the react-native-gesture-handler examples and they are working pretty well. I can transform, scale, move and rotate the image. But as soon as I rotate the image for 90° as an example, I receive wrong values for translateX and translateY. Moving down will move it right, swiping up will move it left etc.

How do I take the rotation into consideration based on my component. Please ignore the "tilt" feature, it's not in use for now.

0 投票
0 回答
112 浏览

javascript - 错误反应本机运行窗口“无法获取未定义或空引用的属性'方向'”

当我想运行 react-native run-windows 应用程序时出现错误...当应用程序打开时,出现错误,

安装 react-native-gesture-handler 后出现错误...

任何人都可以提供解决此问题的解决方案吗?

谢谢你

0 投票
1 回答
370 浏览

react-native - 无法解析模块`./createNativeWrapper`

我正在使用 react-native 0.58.6 和 react-native-gesture-handler 1.0.16。

在 IOS 平台上由于手势处理程序而出现此错误。

错误:捆绑失败:错误:无法./createNativeWrapper/Users/Documents/Work/ReactDemoApp/node_modules/react-native-gesture-handler/GestureHandler.js

有什么建议吗?