You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native ScrollView onScroll异常:手指抬起时contentOffset不更新

解决ScrollView惯性滑动时contentOffset.y不实时更新的问题

你的问题源于ScrollView默认的事件触发逻辑:当手指抬起进入惯性滑动阶段后,onScroll事件会停止高频触发。要实现滑动全程(包括惯性阶段)的contentOffset.y实时更新,只需给ScrollView添加scrollEventThrottle属性,强制事件按指定频率触发:

<ScrollView 
  onScroll={(event)=>{
    const top = event.nativeEvent.contentOffset.y;
    setTop(top);
  }}
  scrollEventThrottle={16} // 对应60帧/秒,接近实时的触发频率
>
  {/* 子组件内容 */}
</ScrollView>

额外说明:

  • scrollEventThrottle的单位是毫秒,设置为16能匹配大多数设备的屏幕刷新率,保证视觉上的实时性。
  • 若对性能有顾虑,可适当调高数值(比如32对应30帧),在实时性和性能间做平衡。
  • 该方案同样适用于FlatList、SectionList等滚动组件。

内容的提问来源于stack exchange,提问作者SAI

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 13:15:18