An efficient way to solve stale closures is to correctly set the dependencies of React hooks . Or, in the case of a stale state, use a functional way to update the state. The key takeaway is to try to supply hooks with closures that capture the freshest variables.