Как загрузить новые данные в Flatlist «вверх» и «вниз» способами onEndReached в React Native? - PullRequest
1 голос
/ 18 марта 2019

Я использую Flatlist с React Native для Android, где мне нужно динамически загружать новые данные при достижении конца Flatlist как в «Вверх», так и «Вниз» в положении «Плоский список» (или «Влево» и «Вправо» в горизонтальном представлении) .

Однако Flatlist имеет только встроенную функцию для выполнения чего-либо в onEndReached в положении «Вниз» (или «Вправо» в горизонтальном положении).

Вы можете обойти проблему с обнаружением прокрутки пользователем влево или вправо, но когда я добавляю новые данные в состояние «Вверх», чтобы они помещались в начало массива, Flatlist прослушивается и не прокручивается, как если бы вы добавить новые данные в конец массива.

Несмотря на то, что он загружает новые данные в массив, представление сбивается и не прокручивается.

Теперь я просто отправляю данные в начало массива следующим образом:

this.setState({
  data: [
    ...newData,
    ...this.state.data
  ]
})

TLDR: есть ли способ добавить новые данные в массив в состоянии в начало массива, чтобы прокрутка была естественной, а представление не зависало из-за изменения положения в состоянии / индексе?

...