-
Notifications
You must be signed in to change notification settings - Fork 10.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(gatsby): re-render route when location state changes #28346
Merged
gatsbybot
merged 4 commits into
gatsbyjs:master
from
WillMayger:fix-gatsby-#27617-navigation-state
Dec 1, 2020
Merged
fix(gatsby): re-render route when location state changes #28346
gatsbybot
merged 4 commits into
gatsbyjs:master
from
WillMayger:fix-gatsby-#27617-navigation-state
Dec 1, 2020
Conversation
This file contains 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
gatsbot
bot
added
the
status: triage needed
Issue or pull request that need to be triaged and assigned to a reviewer
label
Nov 28, 2020
LekoArts
added
topic: reach/router and Links
and removed
status: triage needed
Issue or pull request that need to be triaged and assigned to a reviewer
labels
Nov 30, 2020
vladar
reviewed
Nov 30, 2020
WillMayger
force-pushed
the
fix-gatsby-#27617-navigation-state
branch
from
December 1, 2020 18:03
ecde70e
to
6c6d742
Compare
vladar
changed the title
Fix gatsby #27617 navigation state
fix(gatsby): re-render route when location state changes
Dec 1, 2020
vladar
added
topic: core
Relates to Gatsby's core (e.g. page loading, reporter, state machine)
and removed
topic: reach/router and Links
labels
Dec 1, 2020
vladar
approved these changes
Dec 1, 2020
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome! I've tested it with the repro and it works! Thank you so much for the fix and tests 👍🚢
vladar
added
the
bot: merge on green
Gatsbot will merge these PRs automatically when all tests passes
label
Dec 1, 2020
pieh
pushed a commit
that referenced
this pull request
Dec 4, 2020
* creating e2e tests to catch issue * comparing location and state * update test message * using optional chaining (cherry picked from commit 3ccaec8)
pieh
pushed a commit
that referenced
this pull request
Dec 4, 2020
* creating e2e tests to catch issue * comparing location and state * update test message * using optional chaining (cherry picked from commit 3ccaec8)
pieh
pushed a commit
that referenced
this pull request
Dec 4, 2020
Published in |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
bot: merge on green
Gatsbot will merge these PRs automatically when all tests passes
topic: core
Relates to Gatsby's core (e.g. page loading, reporter, state machine)
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
Fix for issue: Using navigate() function with a state change doesn't re-render the page #27617
Currently we are comparing location props in the
RouteUpdates
component to see if it needs to be updated, however because we are comparing props we need to also check if the location state has been changed as well.We can do this by:
key
property has changed between the previous and next set of props.The
key
prop is always added to each route state update via@reach/router
here.This seems to be part of a bigger issue where in an ideal world we should probably just leave these comparisons to the router lib, but changing it now may introduce bugs and would probably fall under another issue/ticket.
If others agree and an issue is created for it, I will happily take a look into it.
E2E tests added
Related Issues
Fixes #27617