各項目が水平方向のフラット リストです。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);
しかし、何も正確ではありません。常に 1 つのインデックスを上げたり、1 つのインデックスを下げたりします。
フラットリストで正しい現在のインデックスを取得するにはどうすればよいですか?
たとえば、リストの 8 番目にあるリスト項目を取得しますが、インデックスは 9 または 10 になります。