我正在按照本教程https://medium.com/appandflow/react-native-collapsible-navbar-e51a049b560a创建折叠的导航栏。做事很好,但是有一个问题,在本教程中,指导老师设置了FlatList的道具滚动:

onScroll={Animated.event( [{ nativeEvent: { contentOffset: { y: this.state.scrollAnim } } }], { useNativeDriver: true },)}


但是我已经将此onScroll Props用于:

onScroll={event => this.handleScroll(event)}


我的句柄滚动将验证滚动是否结束并加载更多feed:

  handleScroll (event) {
    var endOfPage = event.nativeEvent.layoutMeasurement.height + event.nativeEvent.contentOffset.y >=
        event.nativeEvent.contentSize.height;

    if (endOfPage) {
      this.getSections()
    }
  }


我不能同时运行我的函数和autor命令。有没有办法执行这两个OnScroll?

我的componenet AnimatedFlatList(第一个OnScroll将不起作用,因为另一个将覆盖最后一个):

    <AnimatedFlatList
      contentContainerStyle={[collapse.contentContainer, {paddingTop: this.props.navigation.state.params.category == '' ? 166.5 : 96.5}]}
      onMomentumScrollBegin={this._onMomentumScrollBegin}
      onMomentumScrollEnd={this._onMomentumScrollEnd}
      onScroll={event => this.handleScroll(event)}
      onScrollEndDrag={this._onScrollEndDrag}
      data={this.state.sections}
      renderItem={this._renderSectionItem}
      extraData={this.state}
      keyExtractor={(item, index) => index.toString()}
      removeClippedSubviews
      onScroll={Animated.event( [{ nativeEvent: { contentOffset: { y: this.state.scrollAnim } } }], { useNativeDriver: true },)}
      />

最佳答案

基于this answer

onScroll={Animated.event(
  [{ nativeEvent: { contentOffset: { y: this.state.scrollAnim } } }],
  {
    useNativeDriver: true,
    listener: event => this.handleScroll(event)
  });
}}

关于javascript - 如何执行这两个OnScrolls?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55909043/

10-10 02:28