#flutter
#флаттер
Вопрос:
Структура моего проекта Flutter выглядит следующим образом
Main() //Run App with MaterialApp and Routes
L HomePage() //Default route (/), with BottomNavigation
L MoviesPage() //Default BottomNavigation Index and shows a list of movies form TMDB
L DetailsMoviesPage()
L SeriesPage()
L DetailsSeriesPage()
L SupportPage()
L DetailsSupporPage()
Обновление данных было остановлено при переходе между вкладками, но при переходе от к или навигатору от MoviesPage()
к DetailsMoviesPage()
SeriesPage()
или навигатору от DetailsSeriesPage()
SupportPage()
to DetailsSupporPage()
создается HomePage()
, и все действия обновляются, а также при записи в текстовое поле, расположенное в процессе обновления HomePage()
?
body: _childnav[_currentIndex],
bottomNavigationBar: BottomNavigationBar(
onTap: onTabPressed,
currentIndex: _currentIndex, //this property defines current active tab
items: [
BottomNavigationBarItem(
icon: Icon(Icons.movie), title: Text('Movies')),
BottomNavigationBarItem(icon: Icon(Icons.tv), title: Text('Series')),
BottomNavigationBarItem(icon: Icon(Icons.help), title: Text('Help'))
],
),
Комментарии:
1. Использование
Provider
илиRiverpod
управление состоянием.2. Одна из альтернатив — использовать @override bool get wantKeepAlive => true ; таким образом, ваши страницы извлекают информацию только один раз, однако имейте в виду, что эта альтернатива работает только для вкладок или общих виджетов на экране.
3. вероятно, вы вызываете
setState({})
insideonTabPressed
, поэтому это вызоветbuild
метод, который заставит вас создавать виджеты заново