Obsolete Dictionary and shift to single state object#15281
Closed
PureWeen wants to merge 1 commit into
Closed
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description of Change
Dictionary<string, object>navigationState. This structure matches WPF a bit with how theNavigationServiceworksJustification
Alternate PR Idea for: #14965
Currently when you pass extra parameters to shell via the parameters dictionary those are retained forever and reapplied with each navigation. The workarounds to remove those parameters is fairly cumbersome. Through discussions with users, it's become apparent that we need a mechanism to have parameters that only get applied during the initial navigation request. This PR clears any parameters that aren't part of the QueryString.
It's particularly problematic to retain those parameters because if the user passes a complex object that object is retained in memory forever unknown to the user.
Thoughts
IQueryAttributablebut the idea would be to eventually promote this toNavigatingEventArgslikeUWP/WPFhas and you can grab it from theExtraData. Then we can eventually elevate that to work withNavigationPageas wellIReceivesNavigationStatethat you could mark on your classes and then that's where it'd pass thenavigationStatetoFAQ
OnAppearing?Examples for the docs to improve clarity
We should enhance the navigation part of the
Shelldocs to include various example permutations of how parameters are handled.Still works the same
New
Issues Fixed
Fixes #10294