react-native - 如何在 View React Native 中检测拖动端
问题描述
我有一个观点。在这个视图中,我有一个平面列表,该列表具有有效的onScrollEndDrag
逻辑onScrollBeginDrag
,除非在不属于平面列表的底部选项卡菜单上释放拖动。因为处理程序位于 FlatList 上,所以我无法检测到底部选项卡上发生的拖动释放。我需要将拖动结束逻辑附加到视图而不是 FlatList。如何检测何时拖动结束/用户在 View 而不是 FlatList 中释放屏幕的手?
这是我目前拥有的:
<View>
<StatusBar barStyle={"light-content"} />
<FlatList
data={challenges}
renderItem={({ item, index }) => (
<ChallengePost challenge={item} isVideoPlaying={index === currentlyPlaying && !navigatedOutOfScreen} />
)}
keyExtractor={(challenge) => challenge._id}
showsVerticalScrollIndicator={false}
snapToInterval={Dimensions.get("window").height}
snapToAlignment={"start"}
decelerationRate={"fast"}
onViewableItemsChanged={onViewRef.current}
onScrollEndDrag={() => (scrollEnded.current = true)}
onScrollBeginDrag={() => (scrollEnded.current = false)}
></FlatList>
</View>
正如您onScrollEndDrag
onScrollBeginDrag
在 FlatList 级别上看到的那样,我希望它能够检测到整个屏幕上发生的拖动释放。
解决方案
推荐阅读
- elasticsearch - 带有保留字符的 Elasticsearch 查询问题
- maven - 我们可以通过 Selenium Cucumber Maven 框架中的命令行传递多个浏览器名称以并行执行吗
- javascript - Javascript双击事件问题
- jenkins - 未处理的异常:System.ComponentModel.Win32Exception:系统找不到指定的文件
- java - 不支持 1.8 版
- apache-zookeeper - 在对 solr 进行几次成功更新后,抛出 SolrException: java.util.concurrent.TimeoutException: Could not connect to ZooKeeper
- python - python3按字典值的属性对字典列表进行排序
- azure - 如何将 Jira 中的 FixVersion 包含到 vsts 工作项迁移?
- html - 如何使用 inline block 或 flex 将嵌套的 div 排列在一起
- node-red - 将相机图像保存为 Node-Red 中的动态文件名