iOS FlatList与onScroll和setState有关的问题

时间:2019-11-15 10:52:10

标签: react-native react-native-ios react-native-scrollview

以下代码用于控制 shouldShowHeaderSeparator 状态属性,该属性又传递给 组件,以在视图很少滚动时执行一些渲染。

<FlatList
    bounces={false}
    onScroll={evt => {
        if (evt.nativeEvent.contentOffset.y > 0 && !this.state.shouldShowHeaderSeparator) {
            console.log("setting state to show header separator")
            this.setState({shouldShowHeaderSeparator: true})
        }

        if (evt.nativeEvent.contentOffset.y === 0) {
            console.log("setting state to hide header separator")
            this.setState({shouldShowHeaderSeparator: false})
        }
    }}
    data={someData}
    renderItem={({ item }) => <SomeItem/>}
    ListFooterComponent={loadMoreElement}
/>

当bounces设置为false时,此方法很好,但是,当设置为true且没有足够的内容来滚动视图时,用户只是简单地向上推动视图(相反的是下拉以刷新),滚动视图有明显的毛刺(上下跳动)。

这是某人面临的已知问题吗?弹跳是iOS中的预期行为,因此将其完全删除是不理想的。

0 个答案:

没有答案