React Native - SectionList滚动到第一次加载列表时结束

时间:2018-01-13 03:51:39

标签: react-native

我正在开发聊天应用程序 我正在使用SectionList来呈现消息。
我想在列表加载时滚动到底部。
所有消息都是动态大小的,因此无法使用getItemLayout
如果我立即致电scrollToLocationSectionList会引发错误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)
    }
}




enter image description here

0 个答案:

没有答案