Я пытаюсь прокрутить до конца FlatList
когда FlatList
состояние messages
. В настоящее время я использую this.refs.flatList.scrollToEnd();
после ожидания немного, который работает нормально. То, что я хочу сделать, это добавить прослушиватель событий в состояние messages
чтобы при изменении списка каким-либо образом он прокручивался до конца списка. Я старался
componentDidMount(){
this.state.messages.addEventListener('change', this._handleNewMessage);
}
но это не сработает. Кто-нибудь знает, как я могу это достичь?
Это будет то, что метод componentDidUpdate
для жизненного цикла:
componentDidUpdate()
вызывается сразу после обновления. Этот метод не вызывается для первоначального рендеринга.Используйте это как возможность работать с DOM при обновлении компонента....
Естественно, вы должны убедиться, что this.state.messages
изменяется только через setState
но это уже было верно, использование componentDidUpdate
не изменило его.
componentDidUpdate() {
this.refs.flatList.scrollToEnd();
}