React native 反应本机ScrollView粘滞视图元素

React native 反应本机ScrollView粘滞视图元素,react-native,React Native,我试图使scrollview中的元素始终保持在屏幕的左侧。有点像Excel中的数字行。水平滚动时,它们保持在左侧,垂直滚动时也向下滚动。到目前为止,我尝试通过将onscroll元素连接到该元素来设置该元素的动画。它确实管用,但感觉很颠簸。它很快,但不流动。几乎看起来元素正在振动 react native中是否有其他技术可以获得所需的结果?这里是我正在使用的重要语句 scrollPositionX: new Animated.Value(0), scrollEventThrottle={

我试图使scrollview中的元素始终保持在屏幕的左侧。有点像Excel中的数字行。水平滚动时,它们保持在左侧,垂直滚动时也向下滚动。到目前为止,我尝试通过将onscroll元素连接到该元素来设置该元素的动画。它确实管用,但感觉很颠簸。它很快,但不流动。几乎看起来元素正在振动

react native中是否有其他技术可以获得所需的结果?这里是我正在使用的重要语句

scrollPositionX: new Animated.Value(0),    

scrollEventThrottle={16}
onScroll={Animated.event([{nativeEvent: {contentOffset: {x: this.state.scrollPositionX}}}] )}

<Animated.View style={[styles.times, {
     transform: [{translateX: this.state.scrollPositionX}]
}]}>
   ...
</Animated.View>

一种粗略的方法是在水平滚动视图外部渲染粘性列。只需确保你的棍子和非粘性细胞最终高度相同,以便所有细胞排列整齐

如果您还想垂直滚动,请将它们都包装在另一个ScrollView中

<ScrollView>
  <View>
    // render the sticky cells
  </View>
  <ScrollView horizontal={true}>
    // render the non sticky cells
  </ScrollView>
</ScrollView>
问题是,如果您有很多行,特别是其中包含更复杂的组件,那么您将遇到性能问题

ListView更擅长处理大量数据,但我还没有找到一种方法在这种情况下使用它们。对于粘性列和普通单元格,您都需要一个,并且在不监视onScroll的情况下,无法保持它们的同步


我希望有人有更好的方法来做这件事。我也确实需要这个功能。

是的,你嵌套它的方式实际上是我的第一次尝试。坏的是,你被锁定在滚动的一种或另一种方式。对角线是不可能的。我修复它的方法是通过使用粘性元素,我实际上有两个,在scrollview之外的左侧和顶部,然后在它们上设置变换。这明显地改善了它。由于某种原因,当它们在scrollview中并被转换时,它们真的像我最初描述的那样变得疯狂。仍然有大约1或2帧的延迟。只有同步的UIScrollView才能达到100%的效果。顺便说一句,我将粘性行从Listview切换到map,因为onScroll转换需要相当长的时间才能开始响应。切换到地图,它马上就工作了。啊,是的,不确定要按对角线方向执行。从ListView切换到map是什么意思?在ScrollView中使用{[1,2,3].mapthis.renderRow}与在renderRow ListView方法中使用{[1,2,3]。不过,我没有任何连接本机UI组件的经验。你做得好吗?我有一个半工作的方法,但不是很好。