This repository has been archived by the owner on Oct 26, 2018. It is now read-only.
Fix issue when initial location redirects #289
Merged
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.
We've been using the cutting edge version in a new project, and all work that went into v4 is much appreciated!
Today we found a bug: if the initial route redirects to another location, then the
Router
component doesn't update properly and leaves the user with an empty page. It's common to useonEnter
on aRoute
to redirect the user to a login page when she is not logged. Thesyncs history -> components when the initial route gets replaced
test in this PR replicates the problem.The problem lies in the
syncHistoryWithStore
's custom listening logic. It makes the first synchronous call to each listener before it subscribes to the store changes, so if the listener causes a location change and thus a store change (e.g. when a location redirects), then the listener is not notified of that change. This PR fixes the problem by subscribing to the store before making the first call to the listener.Hopefully this bug can be fixed before the final v4 is released!