Skip to content
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

refactor: cleanup scroll handlers #5709

Merged
merged 2 commits into from
Oct 15, 2021
Merged

Conversation

lex111
Copy link
Contributor

@lex111 lex111 commented Oct 15, 2021

Motivation

This PR tries to unify use of scroll handlers in useScrollPosition, as there are quite a few non-obvious and unnecessary things right now. Beside that, it improves performance a bit, at least hideable navbar is no longer rendered twice on first mount.

It also fixes proper closing of hideable navbar when navigating from search (eg, "docs/next/versioning#docs"):

Before After
image image

Have you read the Contributing Guidelines on pull requests?

Yes

Test Plan

Preview. It's not that simple, you have to check hideable navbar and back-to-top-button.

Related PRs

(If this PR adds or changes functionality, please take some time to update the docs at https://github.com/facebook/docusaurus, and link to your PR here.)

@lex111 lex111 added the pr: polish This PR adds a very minor behavior improvement that users will enjoy. label Oct 15, 2021
@lex111 lex111 requested a review from slorber as a code owner October 15, 2021 09:52
}
},
[location],
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To check location we now use useLocationChange hook everywhere, this will better distinguish between scroll and location event handlers.


useEffect(() => {
// Prevent first effect to trigger the listener on mount
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is unnecessary code, it used to be needed to fix #5020, but it is safe to remove now.

@netlify
Copy link

netlify bot commented Oct 15, 2021

✔️ [V2]

🔨 Explore the source changes: 8065b89

🔍 Inspect the deploy log: https://app.netlify.com/sites/docusaurus-2/deploys/61694f6c2128540008eb7c2a

😎 Browse the preview: https://deploy-preview-5709--docusaurus-2.netlify.app

@github-actions
Copy link

⚡️ Lighthouse report for the changes in this PR:

Category Score
🟢 Performance 93
🟢 Accessibility 98
🟢 Best practices 100
🟢 SEO 100
🟢 PWA 95

Lighthouse ran on https://deploy-preview-5709--docusaurus-2.netlify.app/

@github-actions
Copy link

Size Change: -46 B (0%)

Total Size: 841 kB

Filename Size Change
website/build/assets/js/main.********.js 425 kB -42 B (0%)
ℹ️ View Unchanged
Filename Size Change
website/.docusaurus/globalData.json 38.3 kB 0 B
website/build/assets/css/styles.********.css 93.8 kB 0 B
website/build/blog/2017/12/14/introducing-docusaurus/index.html 67.2 kB 0 B
website/build/blog/index.html 38.1 kB 0 B
website/build/docs/index.html 45 kB -2 B (0%)
website/build/docs/installation/index.html 53.6 kB -2 B (0%)
website/build/index.html 30.8 kB 0 B
website/build/tests/docs/index.html 26.2 kB 0 B
website/build/tests/docs/standalone/index.html 22.9 kB 0 B

compressed-size-action

@facebook-github-bot facebook-github-bot added the CLA Signed Signed Facebook CLA label Oct 15, 2021
@slorber
Copy link
Collaborator

slorber commented Oct 15, 2021

Didn't notice any issue 👍

@slorber slorber merged commit e221704 into main Oct 15, 2021
@slorber slorber deleted the lex111/avoid-extra-rerenders branch October 15, 2021 11:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed Signed Facebook CLA pr: polish This PR adds a very minor behavior improvement that users will enjoy.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants