React native 反应本机:滚动视图与自动滚动

React native 反应本机:滚动视图与自动滚动,react-native,React Native,我想创建一个自动滚动的旋转木马,直到用户滚动/触摸ScrollView本身 自动滚动本身在使用scrollView.scrollTo时可以正常工作,但是如何检测用户是否正在与scrollView交互?我查看了onScroll事件,但这似乎没有区分用户生成的事件和调用scrollTo生成的事件 另外,我想知道是否有可能直接从ScrollView获取当前的滚动位置,而不是每次从onScroll事件读取 我非常感谢您提供的任何提示和建议。通过深入了解,您可以注意到一些未记录的回调,它们将帮助您实现所追

我想创建一个自动滚动的旋转木马,直到用户滚动/触摸ScrollView本身

自动滚动本身在使用scrollView.scrollTo时可以正常工作,但是如何检测用户是否正在与scrollView交互?我查看了onScroll事件,但这似乎没有区分用户生成的事件和调用scrollTo生成的事件

另外,我想知道是否有可能直接从ScrollView获取当前的滚动位置,而不是每次从onScroll事件读取

我非常感谢您提供的任何提示和建议。

通过深入了解,您可以注意到一些未记录的回调,它们将帮助您实现所追求的目标,即onTouchStart和onTouchEnd。这两个回调仅在用户与ScrollView交互时触发,而不是在以编程方式滚动时触发

您可能希望在onTouchStart上清除自动滚动间隔,并在onTouchEnd上延迟一段时间后重新启动

关于你的下一个问题,答案是否定的。据我所知,目前没有公开获取当前滚动位置的getter。因此,您需要依赖传递给onScroll的事件,检索event.nativeEvent.contentOffset['x'或'y'],并将其存储在组件的状态中

请注意,如果您正在制作一些需要紧跟滚动位置的繁重动画,例如动画标题或视差图像,最好将本机驱动程序用于animated.event。您可以在上了解更多信息。

通过深入了解,您可以注意到一些未记录的回调,它们将帮助您实现所追求的目标,即onTouchStart和onTouchEnd。这两个回调仅在用户与ScrollView交互时触发,而不是在以编程方式滚动时触发

您可能希望在onTouchStart上清除自动滚动间隔,并在onTouchEnd上延迟一段时间后重新启动

关于你的下一个问题,答案是否定的。据我所知,目前没有公开获取当前滚动位置的getter。因此,您需要依赖传递给onScroll的事件,检索event.nativeEvent.contentOffset['x'或'y'],并将其存储在组件的状态中


请注意,如果您正在制作一些需要紧跟滚动位置的繁重动画,例如动画标题或视差图像,最好将本机驱动程序用于animated.event。您可以在上了解更多信息。

非常感谢您的帮助:-非常感谢您的帮助:-