React Hooks-带钩子的功能组件中ScrollView的引用?

时间:2019-11-19 19:16:17

标签: reactjs react-native

我将带有钩子的react本机项目从所有类组件转换为功能组件。我有一个带有ScrollView的消息页面,该页面自动滚动到底部。如何将其转换为功能组件?使用ref和this.scrollView会导致错误。

<ScrollView 
   ref={ref => this.scrollView = ref}
   onContentSizeChange={(contentWidth, contentHeight)=> {this.scrollView.scrollToEnd({animated: true})}}
>
{...content...}
</ScrollView>

2 个答案:

答案 0 :(得分:0)

在组件主体中:

function App(props) {    
   const scrollViewRef = useRef();
...

在组件上:

<ScrollView 
   ref={scrollViewRef}
   onContentSizeChange={(contentWidth, contentHeight)=> {scrollViewRef.current.scrollToEnd({animated: true})}}
>
{...content...}
</ScrollView>

答案 1 :(得分:0)

const scrollRef = useRef();在函数App()

并在onPress中使用 scrollRef.current?.scrollTo({ y:0, 动画:真实, });