Skip to content

Conversation

@aryan262
Copy link
Contributor

@aryan262 aryan262 commented Sep 9, 2024

🚀 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

@violetadev
Copy link
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

@violetadev
Copy link
Contributor

looks great, thank you for the refactor!!

@violetadev violetadev merged commit 3bd8737 into responsively-org:main Sep 9, 2024
@violetadev
Copy link
Contributor

@all-contributors Please add @aryan262 for code.

@allcontributors
Copy link
Contributor

@violetadev

I've put up a pull request to add @aryan262! 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants