#flutter #dart
#flutter #dart
Вопрос:
У меня есть простая асинхронная функция, и я вызываю эту функцию в своем initState. Эта функция считывает мою базу данных Firebase Firestore, и я хочу, чтобы количество операций чтения было как можно меньше. Но при использовании BottomNavigationBar и навигации с помощью body: _widgetOptions.ElementAt(index) экран удаляется при каждом переходе на новый экран. Когда я возвращаюсь к исходному экрану, снова вызывается initState, и мои данные загружаются снова, хотя это не то, что мне нужно или чего я хочу.
У кого-нибудь есть решение или советы?
Заранее спасибо!
Ответ №1:
Вы можете установить глобальную логическую переменную в своем провайдере. Допустим, isCalled
имеет значение по умолчанию false
. Затем вы можете проверить, есть ли isCalled
это false
перед вызовом вашего метода. И затем вы можете установить его в значение true после вызова вашего метода.
Комментарии:
1. Я делаю много сложных функций, но не мог придумать ничего подобного.. лол, большое спасибо!