以下代码用于控制 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中的预期行为,因此将其完全删除是不理想的。