如何检查用户何时停止滚动?

时间:2016-10-11 04:00:25

标签: reactjs react-native

我正在使用https://facebook.github.io/react-native/docs/scrollview.html,它有一个方便的onScroll道具,但是当用户停止滚动时我该怎么办?

基本上,我想在用户滚动时隐藏按钮,在不滚动时显示。

1 个答案:

答案 0 :(得分:1)

在您的组件状态中,存储您收到滚动事件的最后时间。在渲染方法中,检查上次滚动事件发生的时间,并确定您的按钮是否应再次可见。

粗略的例子:

// Observe the scroll events.
<ScrollView onScroll={(e) => {
    this.setState({lastScroll: new Date()})
}} />

// Check if the last scroll happened later than 300ms ago.
if (this.state.lastScroll.getTime() < (new Date()).getTime() - 300) {
    // Render the button.
}