Fix Navigation and Routing sample BooksScreen TabController index update outside build

pull/2753/head
ishifr 1 week ago
parent 460d6f9b08
commit 3796444b2c

@ -31,6 +31,14 @@ class _BooksScreenState extends State<BooksScreen>
..addListener(_handleTabIndexChanged); ..addListener(_handleTabIndexChanged);
} }
@override
void didUpdateWidget(covariant BooksScreen oldWidget) {
super.didUpdateWidget(oldWidget);
if (oldWidget.selectedIndex != widget.selectedIndex) {
_tabController.index = widget.selectedIndex;
}
}
@override @override
void dispose() { void dispose() {
_tabController.removeListener(_handleTabIndexChanged); _tabController.removeListener(_handleTabIndexChanged);
@ -39,7 +47,6 @@ class _BooksScreenState extends State<BooksScreen>
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
_tabController.index = widget.selectedIndex;
return Scaffold( return Scaffold(
appBar: AppBar( appBar: AppBar(
title: const Text('Books'), title: const Text('Books'),

Loading…
Cancel
Save