Skip to content
This repository has been archived by the owner on Sep 14, 2023. It is now read-only.

optimize swap to run selectors prior to useState hooks #15

Closed
derrickbeining opened this issue Nov 25, 2018 · 2 comments
Closed

optimize swap to run selectors prior to useState hooks #15

derrickbeining opened this issue Nov 25, 2018 · 2 comments
Labels
enhancement New feature or request released

Comments

@derrickbeining
Copy link
Owner

swap currently loops through useAtom subscriptions once and, for each subscription, runs both the selector (if present) and the useState hook. I anticipate this being an issue (no data on this), because selectors are potentially expensive computations which could block between useState hooks firing to re-render components. That would probably make the component rendering "janky". Instead, selectors should be run before useState hooks so that the re-render cycle looks seamless.

@derrickbeining derrickbeining added the enhancement New feature or request label Nov 25, 2018
derrickbeining added a commit that referenced this issue Nov 25, 2018
re-rendering components after `swap`/`set` has been optimized to avoid duplicate calls to
`options.select` (from useAtom) and to process all `options.select` calls before running component
re-render, so as to avoid selectors blocking rendering of new state.

closes #14 #15
derrickbeining added a commit that referenced this issue Nov 25, 2018
re-rendering components after `swap`/`set` has been optimized to avoid duplicate calls to
`options.select` (from useAtom) and to process all `options.select` calls before running component
re-render, so as to avoid selectors blocking rendering of new state.

closes #14 #15
derrickbeining added a commit that referenced this issue Nov 25, 2018
re-rendering components after `swap`/`set` has been optimized to avoid duplicate calls to
`options.select` (from useAtom) and to process all `options.select` calls before running component
re-render, so as to avoid selectors blocking rendering of new state.

closes #14 #15
@derrickbeining
Copy link
Owner Author

🎉 This issue has been resolved in version 3.0.2 🎉

The release is available on:

Your semantic-release bot 📦🚀

@derrickbeining
Copy link
Owner Author

🎉 This issue has been resolved in version 4.1.4 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request released
Projects
None yet
Development

No branches or pull requests

1 participant