React Native: двойная выборка отменяет предыдущие данные - PullRequest
0 голосов
/ 22 января 2020

У меня экран с двумя разными вкладками. Каждая вкладка индексируется (0, 1), а состояние хранит информацию о текущей активной вкладке. Каждая вкладка показывает разные данные на экране. Когда пользователь нажимает на вкладку, начинается выборка данных для получения данных вкладки. В то же время на экране появляется индикатор загрузки, и когда выборка получает ответ, диспетчер обновляет данные в хранилище (избыточность). Затем экран повторно визуализируется, компонент получает извлеченные данные из хранилища и отображает информацию на экране.

Проблема заключается в том, что мы быстро переключаемся с одной вкладки на другую, пока выборка данных уже выполняется , Например: - вкладка 0 запускает одну выборку для получения своих данных, экран загружается - мы немедленно переключаемся на вкладку 1, прежде чем получить данные для вкладки 0 - вкладка 1 запускает одну выборку для получения своих данных, экран загружается - в зависимости от на котором выборка заканчивается первым, у нас есть данные ответа на экране - выборка, которая заканчивается позже, в конечном итоге переопределяет предыдущие показанные данные

Как я могу решить эту проблему? Примечание. Я не хочу отключать переключение между вкладками во время загрузки первой выборки.

1 Ответ

0 голосов
/ 23 января 2020

Вы можете использовать атрибут класса, который будет действовать как переключатель.

Когда вы go переходите на вкладку 0, вы устанавливаете переключатель на 0, когда вы go переходите на вкладку 1, вы устанавливаете переключитесь на 1!

Затем, в своей выборке, вы проверяете: если выборка вкладки 0 завершена, но ваш переключатель установлен на 1 (что означает, что вы вернулись на вкладку с индексом 1), вы не модифицируйте магазин редуксов! И наоборот!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...