Как прокрутить вверх, когда экран загружается в React Native? - PullRequest
0 голосов
/ 07 февраля 2019

Я использую Flatlist в HomeScreen, и он показывает мне несколько сообщений.Так что теперь я хочу, чтобы всякий раз, когда я выходил из приложения или закрывал приложение, а затем открывал приложение, я мог видеть первый элемент из Flatlist.

Я пытался использовать scrollToIndexвнутри моей функции рендеринга, но она выдала мне ошибку - undefined is not an object (evaluating '_this2.refs.flatListRef.scrollToIndex')

<FlatList 
    data={this.state.data}
    ref={(ref) => { this.flatListRef = ref; }}
    renderItem={ ({item,index}) =>  this._renderItem(item,index) }
    extraData={[ this.state.data, this.state.checked ]}
/>

И это то, что я пытался использовать в componentDidMount и внутри функции рендеринга this.refs.flatListRef.scrollToIndex({animated: true,index:0});, но не сработало.

1 Ответ

0 голосов
/ 07 февраля 2019

ComponentDidMount обратные вызовы не будут запускаться после того, как пользователь покинет приложение и возобновит его позднее.Вместо этого вы должны использовать AppState :

AppState может сообщить вам, находится ли приложение на переднем или заднем плане, и уведомить вас об изменении состояния. [Источник]

Адаптируйте данный пример к своим потребностям и прокрутите с помощью this.flatListRef.scrollToIndex({animated: true,index:0})}

...