React native ListView';在视图中时,s ONEDREACH不工作
事情是这样的。 我想呈现一个listview,它在ONEDreach时更新数据 当数据更新时,我想在列表下方呈现一个“加载”文本(不删除列表)。像这样:React native ListView';在视图中时,s ONEDREACH不工作,react-native,react-jsx,React Native,React Jsx,事情是这样的。 我想呈现一个listview,它在ONEDreach时更新数据 当数据更新时,我想在列表下方呈现一个“加载”文本(不删除列表)。像这样: render() { var {isFetching} = this.props.query var loading if(isFetching){ loading = this.renderLoading() } return ( <ListView dataSource={thi
render() {
var {isFetching} = this.props.query
var loading
if(isFetching){
loading = this.renderLoading()
}
return (
<ListView
dataSource={this.dataSource}
renderRow={this.renderItem}
onEndReached={this.props.fetchNextPage}
onEndReachedThreshold={10}
style={styles.listView} />
{loading}
)
}
renderLoading () {
return (
<View style={styles.loading}>
<ActivityIndicatorIOS
size='large'/>
<Text>
Loading books...
</Text>
</View>
)
}
render(){
var{isFetching}=this.props.query
无功负荷
如果(正在获取){
加载=this.renderLoading()
}
返回(
{加载}
)
}
渲染加载(){
返回(
正在加载书籍。。。
)
}
但很快我意识到渲染函数必须返回单个元素。所以我试了一下:
return (
<View>
<ListView
dataSource={this.dataSource}
renderRow={this.renderItem}
onEndReached={this.props.fetchNextPage}
onEndReachedThreshold={10}
style={styles.listView}/>
{loading}
</View>
)
返回(
{加载}
)
但是,一旦安装完毕,OnedRached就一次又一次地开火。甚至在我触摸屏幕之前
如何在保持“无限滚动”行为的同时实现加载视图?我最终使用了一种解决方法。我将加载视图呈现为listView的页脚 不需要将其呈现为listView页脚。尝试指定换行视图样式:{flex:1}:
return (
<View style={{flex: 1}}>
<ListView
dataSource={this.dataSource}
renderRow={this.renderItem}
onEndReached={this.props.fetchNextPage}
onEndReachedThreshold={10}
style={styles.listView}/>
{loading}
</View>
)
返回(
{加载}
)
您可以尝试为ListView指定一个高度(例如:高度:300)列表反复呈现的可能原因之一可能是此处的onEndReachedThreshold={10}
的值
对于大于或等于1的值,将在调用render后立即调用ONEDRACHED中的方法
设置一个值,比如说0.5,这意味着当滚动当前列表的一半时,将调用
onEndReached
方法 OneDreached仍然一次又一次地被解雇,也许我不清楚。在renderFooter()方法中移除封闭对象并呈现所需内容