如何在功能组件内部使用ref?

时间:2019-04-24 07:53:43

标签: javascript reactjs react-native

我最近将代码转换为功能组件,因此可以尝试使用钩子。我想在ScrollView中使用 ScrollTo 方法时遇到问题。我当时使用的是this.refs.scrollTo,但现在不能这样做。

我尝试从钩子中使用useRef,但也失败了。这是我的实现方式

const boardScreen = useRef(null);
...
const nextButtonHandler = async () => {
  if (scrollPosition < (content.length - 1) * width) {
      await setScrollPosition(scrollPosition + width);
      boardScreen.current.scrollTo({ x: scrollPosition, animated: true 
    });
  }
};

<ScrollView
  horizontal
  pagingEnabled
  onMomentumScrollEnd={onScrollEnd}
  showsHorizontalScrollIndicator={false}
  ref={boardScreen}
  onScroll={Animated.event([
    {
      nativeEvent: { 
        contentOffset: { 
          x: scrollX 
        } 
      } 
    }
  ])}
  scrollEventThrottle={16}
>
 {renderContent()}
</ScrollView> 
有什么建议吗?还是我应该回去使用类解决这个问题?

0 个答案:

没有答案