React Native — Flatlist — onEndReached не вызывается и бесконечная прокрутка

У меня есть некоторые проблемы с реализацией Infinite Scroll в Flatlist.

В моем плоском списке три столбца, реквизит «onEndReached» вызывается только два раза при загрузке плоского списка, но никогда больше, когда я прокручиваю до конца. Я заметил, что он отлично работает, если у меня есть только один столбец. Есть какая-то ошибка или я что-то пропустил?

Я прочитал этот видеоурок: https://www.youtube.com/watch?time_continue=99&v=rY0braBBlgw Единственная разница в том, что я использую не fetch, а axios, и у меня 3 столбца.

Я также пробовал использовать Scrollview поверх Flatlist, onScroll и реквизиты, все работает нормально, но изображения в flatlist «мигают», когда новые элементы добавляются в данные flatlist. Вот пример кода того, что я делаю:

this.props.myStore.getMyData().then((response) => { // getMyData is an axios request
    this.props.myStore.data = [...this.props.myStore.data.peek(), ...response.data];
    this.props.myStore.offset = this.props.myStore.data.length;
    this.setState({loading: false})
}).catch(() => {
    this.setState({loading: false})
    this.props.myStore.data = null;
});

И данные Flatlist this.props.myStore.data

Спасибо.


person DerMth    schedule 17.10.2017    source источник
comment
Вы не должны обновлять значения реквизита внутри вашего компонента. Это плохая практика. Вы должны установить их как значение состояния и обновить свое состояние с помощью setState.   -  person bennygenel    schedule 17.10.2017
comment
Я нашел ответ здесь , сначала я попробовал все решения, приведенные в комментариях github, ничего не сработало, но, наконец, проверьте этот ответ, который сработал для меня. Надеюсь, это сработает и для других. stackoverflow.com/questions/48740770/   -  person Sadanand    schedule 12.02.2018