Comments (8)
I only see the error when all three of these conditions are met:
- The GoRouter has a GlobalKey
- The ShellRoute has a Global Key
- The ShellRoute uses the builder parameter
If the GoRouter does not use a GlobalKey, the ShellRoute does not use a GlobalKey, or the ShellRoute uses the pageBuilder parameter, then the error is not thrown.
from flutter.
The documentation shows ShellRoute being used in this configuration.
Also, the related issues here and here use ShellRoute with a GlobalKey and the builder parameter.
from flutter.
the related issues here and here use ShellRoute with a GlobalKey and the builder parameter.
@swrenn Also #113409 should be the same / similar issue you are facing. For this issue, even though the error is triggered after hot reload, but the root-cause of all these issues seems to be same, as the log entries are same. I suggest you to follow-up in these issue for further updates, as fixing one of them should resolve other ones as well. If you agree, you can close this as duplicate.
from flutter.
I narrowed the issue down further. The absence of the error when using the pageBuilder parameter implicates the subroutine _buildPlatformAdapterPage
:
Page<Object?> _buildPlatformAdapterPage(
BuildContext context,
GoRouterState state,
Widget child,
) {
// build the page based on app type
_cacheAppType(context);
return _pageBuilderForAppType!(
key: state.pageKey,
name: state.name ?? state.path,
arguments: <String, String>{
...state.pathParameters,
...state.uri.queryParameters
},
restorationId: state.pageKey.value,
child: child,
);
}
The line that makes the difference is key: state.pageKey
. I can reproduce the error using the pageBuilder
parameter by using state.pageKey
.
pageBuilder: (context, state, child) {
return NoTransitionPage(
key: state.pageKey,
child: child,
);
},
from flutter.
@darshankawar, do you think there is merit in keeping this issue open? This issue
- more closely mirrors the example in the documentation and the error others will discover when following it than the related issues. For example, the documentation does not mention CupertinoTabScaffold, CupertinoNavigationBar, or nested ShellRoutes.
- may help others by highlighting the
pageBuilder
parameter as an alternative
from flutter.
Thanks for digging in and providing further details. I'll keep the issue open here and labeling for team's attention.
stable, master flutter doctor -v
[!] Flutter (Channel stable, 3.22.0, on macOS 12.2.1 21D62 darwin-x64, locale
en-GB)
• Flutter version 3.22.0 on channel stable at
/Users/dhs/documents/fluttersdk/flutter
! Warning: `flutter` on your path resolves to
/Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
your current Flutter SDK checkout at
/Users/dhs/documents/fluttersdk/flutter. Consider adding
/Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
! Warning: `dart` on your path resolves to
/Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
of your path.
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 5dcb86f68f (5 days ago), 2024-05-09 07:39:20 -0500
• Engine revision f6344b75dc
• Dart version 3.4.0
• DevTools version 2.34.3
• If those were intentional, you can disregard the above warnings; however
it is recommended to use "git" directly to perform update checks and
upgrades.
[!] Xcode - develop for iOS and macOS (Xcode 12.3)
• Xcode at /Applications/Xcode.app/Contents/Developer
! Flutter recommends a minimum Xcode version of 13.
Download the latest version or update via the Mac App Store.
• CocoaPods version 1.11.2
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] VS Code (version 1.62.0)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.21.0
[✓] Connected device (5 available)
• SM G975F (mobile) • RZ8M802WY0X • android-arm64 • Android 11 (API 30)
• Darshan's iphone (mobile) • 21150b119064aecc249dfcfe05e259197461ce23 •
ios • iOS 14.4.1 18D61
• iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729 •
ios • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
• macOS (desktop) • macos •
darwin-x64 • Mac OS X 10.15.4 19E2269 darwin-x64
• Chrome (web) • chrome •
web-javascript • Google Chrome 98.0.4758.80
[✓] HTTP Host Availability
• All required HTTP hosts are available
! Doctor found issues in 1 category.
[!] Flutter (Channel master, 3.22.0-39.0.pre.2, on macOS 12.2.1 21D62
darwin-x64, locale en-GB)
• Flutter version 3.22.0-39.0.pre.2 on channel master at
/Users/dhs/documents/fluttersdk/flutter
! Warning: `flutter` on your path resolves to
/Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
your current Flutter SDK checkout at
/Users/dhs/documents/fluttersdk/flutter. Consider adding
/Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
! Warning: `dart` on your path resolves to
/Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
of your path.
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision d02292dbc4 (5 hours ago), 2024-05-20 21:25:37 -0700
• Engine revision c2ef01f6f1
• Dart version 3.5.0 (build 3.5.0-172.0.dev)
• DevTools version 2.36.0-dev.10
• If those were intentional, you can disregard the above warnings; however
it is recommended to use "git" directly to perform update checks and
upgrades.
[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
• Android SDK at /Users/dhs/Library/Android/sdk
✗ cmdline-tools component is missing
Run `path/to/sdkmanager --install "cmdline-tools;latest"`
See https://developer.android.com/studio/command-line for more details.
✗ Android license status unknown.
Run `flutter doctor --android-licenses` to accept the SDK licenses.
See https://flutter.dev/docs/get-started/install/macos#android-setup for
more details.
[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 13C100
• CocoaPods version 1.11.2
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] IntelliJ IDEA Ultimate Edition (version 2021.3.2)
• IntelliJ at /Applications/IntelliJ IDEA.app
• Flutter plugin version 65.1.4
• Dart plugin version 213.7228
[✓] VS Code (version 1.62.0)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.29.0
[✓] Connected device (3 available)
• Darshan's iphone (mobile) • 21150b119064aecc249dfcfe05e259197461ce23 • ios
• iOS 15.3.1 19D52
• macOS (desktop) • macos •
darwin-x64 • macOS 12.2.1 21D62 darwin-x64
• Chrome (web) • chrome •
web-javascript • Google Chrome 109.0.5414.119
[✓] Network resources
• All expected network resources are available.
! Doctor found issues in 1 category.
[!] Xcode - develop for iOS and macOS (Xcode 12.3)
• Xcode at /Applications/Xcode.app/Contents/Developer
! Flutter recommends a minimum Xcode version of 13.
Download the latest version or update via the Mac App Store.
• CocoaPods version 1.11.2
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] VS Code (version 1.62.0)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.21.0
[✓] Connected device (5 available)
• SM G975F (mobile) • RZ8M802WY0X • android-arm64 • Android 11 (API 30)
• Darshan's iphone (mobile) • 21150b119064aecc249dfcfe05e259197461ce23 •
ios • iOS 14.4.1 18D61
• iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729 •
ios • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
• macOS (desktop) • macos •
darwin-x64 • Mac OS X 10.15.4 19E2269 darwin-x64
• Chrome (web) • chrome •
web-javascript • Google Chrome 98.0.4758.80
[✓] HTTP Host Availability
• All required HTTP hosts are available
! Doctor found issues in 1 category.
from flutter.
Good day.
I had that same error when using the builder property, I changed it to pabeBuilder using MaterialPage and the error is gone.
I am using Flutter version 3.22.0 and go_router 14.1.3
final GlobalKey<NavigatorState> _rootNavigatorKey = GlobalKey<NavigatorState>(debugLabel: 'root');
final GlobalKey<NavigatorState> _systemDesignShellNavigatorKey = GlobalKey<NavigatorState>(debugLabel: 'system_design_shell');
GoRouter(
initialLocation: location,
navigatorKey: _rootNavigatorKey,
debugLogDiagnostics: true,
routes: [
ShellRoute(
navigatorKey: _systemDesignShellNavigatorKey,
//builder: (context, state, child) => SystemDesignHomeScreen(content: child),
pageBuilder: (context, state, child) => MaterialPage(child: SystemDesignHomeScreen(content: child)),
routes: [
GoRoute(
path: SystemDesignDrawerOption.colors.path,
builder: (context, state) => const SystemDesignColorsContent(),
),
],
),
]
);
from flutter.
@aMarFlo, this does indeed fix the issue but it just replaces the issue with another issue and that's the addListener not triggering when switching from builder
to pageBuilder
.
GoRouter.of(context).routerDelegate.addListener((){});
from flutter.
Related Issues (20)
- canRequestFocus is a duplicate parameter on TextField
- The latest version of the camera plugin cannot find the camera list, using CameraX,提示 Camera LensFacing verification failed, existing cameras
- SliverList does'nt rebuild properly when toggling SliverPersistentHeader visibility inside CustomScrollView HOT 2
- 'Mismatched anonymous define() module' on debug Web since the new 3.22.1 Flutter version HOT 4
- Uncaught TypeError: Cannot read properties of undefined (reading 'Equatable') on debug web 3.22.1 HOT 3
- Provide an empty status placeholder for DataTable HOT 1
- ClipPath crash HOT 1
- Allow rebuilding suggestions for Searchbar manually HOT 1
- Change mouse wheel sensitivity at runtime on Windows
- The package url_launcher 6.2.6 is build with an older kotlin version (expected 1.8, got 1,6)
- [tool_crash] FileSystemException: Cannot open file, OS Error: O arquivo já está sendo usado por outro processo., errno = 32 HOT 1
- Target debug_bundle_windows_assets failed: PathExistsException: Cannot copy file HOT 5
- Engine roll to the framework failing on macros package version issue HOT 13
- SliverMainAxisGroup in a reverse scroll view doesn't work as expected HOT 1
- [tool_crash] FileSystemException: Failed to decode data using encoding 'utf-8', null HOT 1
- On iOS, the cursor does not move even if you enter a full-width space in the TextField (3.22.0) HOT 4
- ccache support is gone in the latest version of Buildroot. HOT 2
- [web] JS formatter breaks the templates in the new load API. HOT 3
- [add2app] Android cannot register flutter plugin HOT 6
- Tool Crash - _TypeError: type 'String' is not a subtype of type 'int?' in type cast HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from flutter.