У меня есть горизонтальный плоский список, где каждый элемент имеет width:300
Все, что я пытаюсь сделать, это получить индекс видимого в данный момент элемента.
<FlatList
onScroll={(e) => this.handleScroll(e)}
horizontal={true}
data={this.state.data}
renderItem...
Пробовал это:
handleScroll(event) {
let index = Math.ceil(
event.nativeEvent.contentOffset.x / 300
);
И что-то вроде этого:
handleScroll(event) {
let contentOffset = event.nativeEvent.contentOffset;
let index = Math.floor(contentOffset.x / 300);
но ничего точно, я всегда получаю один индекс вверх или один индекс вниз.
Что я делаю неправильно и как получить правильный текущий индекс в плоском списке?
Например, я получаю элемент списка, который является восьмым в списке, но я получаю индекс 9 или 10.