我正在开发聊天应用程序
我正在使用SectionList
来呈现消息。
我想在列表加载时滚动到底部。
所有消息都是动态大小的,因此无法使用getItemLayout
。
如果我立即致电scrollToLocation
,SectionList
会引发错误scrollToLocation should be used in conjunction with getItemLayout
。
我怎样才能做到这一点?
loadNextPage() {
var dataSource = this.message_list.load_next_page()
this.setState({ data : dataSource,
isLoading:false,
isPullToRefreshing:false})
}
onMessagesReceived() {
this.loadNextPage()
this.scrollToEnd()
}
scrollToEnd(animated) {
var length = this.state.data.length
if(length > 0) {
setTimeout(()=> {
this.refs.chatList.scrollToLocation({animated:animated,
sectionIndex:length-1,
itemIndex:this.state.
data[length-1].data.length-1,
viewPosition:1})
}, 10)
}
}