When using turbolinks, unmount components just before loading the new page #85
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.
I'm migrating my project to React & Turbolinks. I have a non-optimized page which exposed this issue.
I think the
react_ujs
unmounts components sooner than it has to. It unmounts onpage:before-change
, but I think it could wait untilpage:receive
.Here's the difference it made for me. In the GIF below, the chart & list of times is a React component. The "stations" link is another page that takes a long time to load.
page:before-change
Notice the blank state while it waits for the page from the server.
page:receive
The components are left around til the new page gets here.
What do you think? Is there a downside to this?