Performance Improvement#1300
Merged
violetadev merged 2 commits intoresponsively-org:mainfrom Sep 9, 2024
Merged
Conversation
…ffect callbacks, and remove unnecessary returns."
Contributor
|
Thanks for contributing, I will take a look. Please add the following to the PR description, it will link to the issue you opened: Fixes: #1298 |
Contributor
|
looks great, thank you for the refactor!! |
Contributor
|
@all-contributors Please add @aryan262 for code. |
Contributor
|
I've put up a pull request to add @aryan262! 🎉 |
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.
🚀 Feature Request
📝 Description
Currently, the useEffect inside the URLOpenerNonChrome and URLOpenerChrome components contains asynchronous logic that is executed on every render. This can lead to unnecessary re-renders, especially if the component is rendered multiple times. By optimizing the code with useCallback and useMemo, we can improve the performance of the application, ensuring that certain computations are only executed when necessary.
✨ Describe the solution you'd like
Refactor the asynchronous logic into a useCallback:
The logic for querying tabs and checking the custom protocol URI should be wrapped in useCallback to prevent unnecessary recalculations on each render.
Utilize useMemo to optimize dependent computations:
Any computations inside useEffect that depend on props or state can be memoized with useMemo to improve performance and reduce redundant operations.
Fixes: #1298