fix: Memoize route component to avoid double render for incoming async routes#72
Merged
rschristian merged 2 commits intomainfrom Mar 2, 2025
Merged
fix: Memoize route component to avoid double render for incoming async routes#72rschristian merged 2 commits intomainfrom
rschristian merged 2 commits intomainfrom
Conversation
Co-authored-by: Steven Beshensky <s.beshensky@gmail.com>
rschristian
commented
Feb 27, 2025
| } | ||
| return false; | ||
| }, [url]); | ||
| }, [url, JSON.stringify(matchProps)]); |
Member
Author
There was a problem hiding this comment.
@JoviDeCroock Have any opinions on what we do here? Obviously JSON.stringify ain't ideal though I'm not sure if we want to start doing deep comparisons ourselves or with a dep either.
As the updated test cases show, your changes in #12 have us rendering routes more often than we should, but to not regress we'd need a dependency on the user-passed props.
rschristian
commented
Mar 1, 2025
| await sleep(10); | ||
|
|
||
| expect(scratch).to.have.property('innerHTML', '<h1>B</h1><p>hello</p>'); | ||
| expect(B).to.have.been.calledOnce; |
Member
Author
There was a problem hiding this comment.
Prior to this, B (or any async route) would be called twice after route change.
JoviDeCroock
approved these changes
Mar 2, 2025
This was referenced Mar 3, 2025
Merged
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Similar-ish to #69, #12 seems to cause a lot of unnecessary renders which @sbesh91 and I have been working out.
Not sure it's ideal but covers the simple cases anyhow. For the more complex, see comment below I suppose?