как добавить слушатель события в состояние в реагировать родной

1

Я пытаюсь прокрутить до конца FlatList когда FlatList состояние messages. В настоящее время я использую this.refs.flatList.scrollToEnd(); после ожидания немного, который работает нормально. То, что я хочу сделать, это добавить прослушиватель событий в состояние messages чтобы при изменении списка каким-либо образом он прокручивался до конца списка. Я старался

componentDidMount(){
        this.state.messages.addEventListener('change', this._handleNewMessage);
}

но это не сработает. Кто-нибудь знает, как я могу это достичь?

  • 0
    «когда список изменяется каким-либо образом», что вы имеете в виду под каким-либо образом?
Теги:
react-native
expo

1 ответ

3
Лучший ответ

Это будет то, что метод componentDidUpdate для жизненного цикла:

componentDidUpdate() вызывается сразу после обновления. Этот метод не вызывается для первоначального рендеринга.

Используйте это как возможность работать с DOM при обновлении компонента....

Естественно, вы должны убедиться, что this.state.messages изменяется только через setState но это уже было верно, использование componentDidUpdate не изменило его.

componentDidUpdate() {
    this.refs.flatList.scrollToEnd();
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню