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

Design deficiency with rapidly changing states #5

Open
drinking-code opened this issue Apr 4, 2023 · 0 comments
Open

Design deficiency with rapidly changing states #5

drinking-code opened this issue Apr 4, 2023 · 0 comments

Comments

@drinking-code
Copy link
Owner

A state listener like this

doSomething((myElement, [myState, setMyState]) => {
    const mouseOverHandler = e => {
        setMyState(/* some always changing value */)
    }
    myElement.addEventListener('mouseover', mouseOverHandler)
    return () => {
        myElement.removeEventListener('mouseover', mouseOverHandler)
    }
}, [myElement, myState])

is constantly being re-called, even though it does not have to be. Requiring the state in the statesAndRefs array (to use the setState function) does not imply the usage of the state's value.
Providing the option to use a setState without listening to state changes will drastically improve performance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant