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.
Fixes #160
I noticed the #160 memory leak issue as well (i.e. it's reproducible in the simple example), but it was unfortunately not fixed with #161.
This makes two changes, which seems to mitigate the issue:
setTimeout
callback to just bump a (new)timeNow
state. I think passing a reference to thetick
function was ultimately causing the memory leak, and this approach also removes the need for a "force update".now
argument to aDate.now
reference (as opposed to a new closure). This was getting redefined on every render and causing duplicate effect calls, which was contributing to the issue.