问题标签 [panresponder]

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 投票
1 回答
168 浏览

reactjs - React Native - 使用两个屏幕(组件)在 5 分钟后注销

我有一个 expo 应用程序,我想在 5 分钟后实现自动注销。

在用户登录时显示的第一个组件中,我创建了:

下面的代码工作正常,但是当我切换到新屏幕(新组件)时,我无法更新注销时间。

如何更新下一个屏幕上的时间?

在屏幕上,我放了{... this._panResponder.panHandlers}.

0 投票
0 回答
58 浏览

react-native - React Native - onPress 触发错误事件

我正在尝试制作一个旋转的魔方,它具有每个小立方体作为触发事件的可触摸组件 - 触摸橙色、绿色和黄色上的立方体会触发正确的事件,而触摸其他颜色上的一些立方体最终会触发事件这 3 种(橙色/绿色/黄色)颜色中的一种。我该如何解决?

这是 App.js:

这是 utils.js:

这是 SmallBox.js:

这是组件

0 投票
1 回答
378 浏览

react-native - 为什么 PanResponder 不能使用 useEffect Hook?

我正在尝试使用 useEffect 找到 ComponentWillMount 方法的替代品。但是 panresponder 变量不是在初始渲染之前创建的。谁能告诉我我在这里做的任何错误?没有 useEffect,页面将被渲染。手势未被捕获。

[Error on execution][1] [1]: https://i.stack.imgur.com/sls5E.png
0 投票
0 回答
155 浏览

react-native - 动画 getLayout() 函数在 react-native 中不起作用

我正在使用 Animated.ValueXY() 中的 getLayout() 方法。执行代码时,抛出错误“TypeError: position.getLayout is not a function”。谁能帮我解决这个问题?

错误:在此处输入图像描述

0 投票
1 回答
328 浏览

react-native - panResponder 在屏幕上有两次触摸时继续捕获

我希望当屏幕上有两次触摸时 panResponder 继续前进并且不停止但大约半秒后 panResponder 停止并开始滚动这是我的代码

我想当屏幕上有两次触摸时 panResponder 开始,直到有两次触摸它继续,当有一次触摸它停止

0 投票
1 回答
172 浏览

reactjs - react-native [Expo]:我可以增加 PanResponder 的输入采样率吗?

我目前正在为我的 Expo 应用程序实现一个基于react-native-svg的绘图输入(这是对这个答案的轻微修改:链接)。我使用 aPanResponder来注册移动事件并创建不同的路径,然后Polyline当用户在视图上绘制时显示为多个元素,如下所示:

不幸的是,我制作的线条非常粗糙且参差不齐,我相信PanResponder.onPanResponderMove处理程序被触发的频率太低,无法满足我的需要(平均而言,它在 Android Pixel 4 模拟器上每 50 毫秒调用一次,我不确定我是否可以期待更多真实设备)。

在我的用例中,也许有比 PanResponder 更好的人选来处理手势?

我已经实现了一个平滑功能(基于此答案链接),它的行为正确,但由于这些点彼此相距太远,用户的输入会明显失真。

这是一个没有平滑的例子:

SVG 绘图示例

在我的 GestureHandler 实现下面:

边注

我没有在 PanResponder 上找到任何文档表明存在采样率配置选项,因此我完全愿意接受替代方案(甚至完全放弃 PanResponder + 本机 SVG 方法),只要我不必退出 expo 项目并且我可以可以控制布局(我不想使用特定 UI 附带的外部组件)。

我曾尝试使用expo-pixi库(特别是Sketch组件),但存储库似乎不再被维护,并且 expo 客户端在使用它时始终崩溃。

0 投票
0 回答
153 浏览

javascript - React Native PanResponder 在旋转变换后表现相反

React Native PanResponder 在旋转变换后沿相反方向平移

在上面的代码中,旋转 180 度后平移响应器计算的平移与用户的触摸手势相反。我怎样才能正确地翻译为角度可以是任何值。请在此处查看实时示例代码和框

0 投票
1 回答
200 浏览

react-native - React Native PanResponder onStartShouldSetPanResponder locationX 因平台而异

我是 RN 手势 api 的新手,所以如果其中任何一个看起来像是一种根本不正确的方法,我将非常感谢您的反馈以及关于在哪里寻找的任何建议。谢谢!

目标

  • 使用 PanResponder api 仅处理轻击和滑动手势
  • 仅用于onStartShouldSetPanResponder处理点击和预移动滑动
  • 保证event.nativeEventhandled byonStartShouldSetPanResponder具有相对于ListComponent 的定位信息,而不是列表组件的子项。

event.nativeEvent根据我是否通过 expo 的本地 Web 服务器和 expo ios 应用程序进行测试,以下代码会收到不同的结果。考虑到底层基础设施的不同,这似乎是合理的。

我的预感是,在 ios 上,onStartShouldSetPanResponder 处理程序触发“太晚”(或太早?),也就是说,手势被归因于子组件,因此冒泡到该处理程序的事件具有相对于子组件的定位组件,而不是下面渲染函数中的列表组件。

鉴于列表组件是 300px 宽,并且列表组件中有 3 100px 宽的项目,从列表组件左侧点击大约 5/6 的宽度会在 web 上产生 ~250/300(正确)的 locationX 和50/300 在 iOS 上。

似乎在 ios 上,事件相对于第三个 100px 宽的子元素定位。

附加背景:

0 投票
0 回答
43 浏览

react-native - React Native:带有文本选择的 PanResponder

如果在屏幕上选择了其他内容,则拖动并不总是有效。特别是对于网页,在此示例中,如果选择了“拖动此框标题”的一部分,则该框不可拖动,因为浏览器尝试拖动所选文本。有什么办法可以避免这种情况吗?

在此处输入图像描述

0 投票
0 回答
117 浏览

react-native - 在本机反应中插入 flex 道具

我的第一个问题是我们可以在 react native 中插入 flex 属性吗?

如果是,那么我在下面有这段代码,我试图在其中插入 flex 属性以实现可拖动的底页,或者你可以说一个模态(就像内置的反应原生模态一样)。

这是构造函数代码>

这是我班级的渲染功能>

在上面的代码中,我可以插入组件 Animated.View 的背景颜色的值,但是在尝试插入 flex 属性时,我收到如下错误。

不变违规:[7,"RCTView",{"flex":"<>"}] 不能用作本机方法参数

请给出适当的解决方案。:)


12345678910