FlatList автоматически прокручивается до первого, когда данные слишком велики в горизонтальном режиме (RTL) - PullRequest
0 голосов
/ 25 сентября 2019

Среда

System:
    OS: Windows 10
    CPU: (4) x64 Intel(R) Core(TM) i5-7400 CPU @ 3.00GHz
    Memory: 1.35 GB / 7.87 GB
  Binaries:
    Node: 10.15.3 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.17.3 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
    npm: 6.4.1 - C:\Program Files\nodejs\npm.CMD
  IDEs:
    Android Studio: Version  3.5.0.0 AI-191.8026.42.35.5791312

React Собственная версия: 0.60.4

Код

<FlatList
    style={{
        flexDirection: 'row',
        marginHorizontal: -wp('3%'),
        zIndex: 40
    }}
    initialNumToRender={10}
    data={this.state.data}
    horizontal={true}
    key={item => item.groupNo}
    keyExtractor={(item, index) => index.toString()}
    showsHorizontalScrollIndicator={false}
    showsVerticalScrollIndicator={false}
    ref={ref => (this.flatList = ref)}
    renderItem={({ item }) => (
        <Item item={item} />
    )}
/>

Шаги для воспроизведения

  1. Добавлены некоторые данные в мой FlatList
  2. Добавить свойство горизонтального = {true} в плоский список
  3. Установить I18nManager.allowRTL(true)
  4. Установить I18nManager.forceRTL(true)
  5. Расширение компонента renderItem как PureComponent.
  6. Использование реального устройства Android

Как вы видите ниже, когда мое приложение работает в направлении RTL FlatList автоматически прокручивается к началу / началусписок, но направление LTR в порядке!

RTL:

RTL_GIF

LTR:

LTR_GIF

1 Ответ

0 голосов
/ 25 сентября 2019

попытайтесь сделать трюк, как объяснено в примере с методом onEndReached.https://snack.expo.io/r1NMSxFwr

Также попробуйте поиграть с InitialNumToRender.

...