React native 响应本地同步两个滚动视图

React native 响应本地同步两个滚动视图,react-native,React Native,React Native中有没有一种方法可以同步两个或多个滚动视图,以便它们相互跟踪?我见过一些objective-c的实现,但不知道如何为react-native实现它 获取其中一个滚动时的滚动位置 在另一个屏幕上设置滚动位置 到目前为止,我发现最干净、问题较少的是: import React,{Component}来自“React” 从“react native”导入{Text,View,ScrollView} 功能方块(道具){ 变量平方=[] 对于(var i=0;i{ 如果(!this

React Native中有没有一种方法可以同步两个或多个滚动视图,以便它们相互跟踪?我见过一些objective-c的实现,但不知道如何为react-native实现它

  • 获取其中一个滚动时的滚动位置
  • 在另一个屏幕上设置滚动位置

  • 到目前为止,我发现最干净、问题较少的是:

    import React,{Component}来自“React”
    从“react native”导入{Text,View,ScrollView}
    功能方块(道具){
    变量平方=[]
    对于(var i=0;i{
    如果(!this.leftIsCrolling){
    this.rigthIsScrolling=true
    var scrollY=e.nativeEvent.contentOffset.y
    这个._rightView.scrollTo({y:scrollY})
    }
    this.leftIsCrolling=false
    }}>
    {this._rightView=scrollView}}
    scrollEventThrottle={16}
    onScroll={e=>{
    如果(!this.rigthIsScrolling){
    this.leftIsCrolling=true
    var scrollY=e.nativeEvent.contentOffset.y
    这个._leftView.scrollTo({y:scrollY})
    }
    this.rigthIsScrolling=false
    }}>
    )
    }
    }
    
    我也尝试过类似的方法,但由于处于滚动位置的侦听器总是影响两个
    ScrollView
    s,所以它的行为很奇怪


    对于这一点,我受到了如何在javascript中实现的启发。

    如果有人仍在寻找答案,这里有一个可能的实现:将导致ios上出现奇怪的“反弹”。因为
    scrollTo
    在ios上不是同步移动,而是设置
    this.leftIsScrolling=false是一个同步移动。