Использование return false;
или e.stopPropogation();
не позволит выполнить дальнейший код. Он остановит поток в этой точке.
Вы можете использовать рекурсивный метод и использовать обратный вызов setState для следующей итерации:
dataFetch = async () => {
// ...
this.setState({
message: `Loading ${Number.parseFloat(
(page * 100) / (maxPages || data.max_pages),
)}%`,
}, () => {
InteractionManager.runAfterInteractions(() => {
this.dataFetch(page + 1, data.max_pages);
});
});
};
Таким образом, он сначала установит ваш прогресс в состоянии и продолжит выборку после обновления состояния.