render() {
return (
<ScrollView style={styles.scroll_style}>
{this._renderStoreInfo()}
{this._renderOperatesView()}
<View style={styles.space}/>
<ListView
contentContainerStyle={styles.list}
dataSource={this.state.dataSource}
renderRow={(rowData, sectionID, rowID) => this._renderRow(rowData, rowID)}
renderFooter={this._renderFooter.bind(this)}
onEndReached={this._onEndReached.bind(this)}
onEndReachedThreshold={10} />
</ScrollView>
);
}
onEndReached一旦安装就一次又一次地被激活。但我不滚动(拉起)列表视图。
答案 0 :(得分:3)
ListView
内部ScrollView
目前存在问题,因为两者都必须共享滚动条。
可以将您在ListView
上方显示的内容移动到ListView
标题(renderHeader
方法),然后删除ScrollView
- 这可以避免嵌套滚动组件:
getPageHeader() {
return (
<View>
{this._renderStoreInfo()}
{this._renderOperatesView()}
<View style={styles.space}/>
</View>
)
}
render() {
return (
<ListView
contentContainerStyle={styles.list}
dataSource={this.state.dataSource}
renderHeader={() => this.getPageHeader()}
renderRow={(rowData, sectionID, rowID) => this._renderRow(rowData, rowID)}
renderFooter={this._renderFooter.bind(this)}
onEndReached={this._onEndReached.bind(this)}
onEndReachedThreshold={10} />
);
}
这个问题有可能在不久的将来得到解决。
答案 1 :(得分:0)
我个人的经历。
只需将<ScrollView>
替换为<View>
,然后onEndReached函数就可以正常运行
当您的dataSource数据通过当前屏幕时,ListView将自动滚动条。
你不需要在案例中使用scrollView。